package
com.vs2022.utils;
import
java.sql.*;
import
com.vs2022.model.User;
public
class
DBUtil {
boolean
bInited =
false
;
// 加载驱动
public
void
initJDBC()
throws
ClassNotFoundException {
// 加载MYSQL JDBC驱动程序
Class.forName(
"com.mysql.jdbc.Driver"
);
bInited =
true
;
System.out.println(
"Success loading Mysql Driver!"
);
}
public
Connection getConnection()
throws
ClassNotFoundException,
SQLException {
if
(!bInited) {
initJDBC();
}
// 连接URL为 jdbc:mysql//服务器地址/数据库名
// 后面的2个参数分别是登陆用户名和密码
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/数据库"
,
"用户名"
,
"密码"
);
return
conn;
}
public
boolean
loginSuccess(String userName, String password) {
boolean
returnValue =
false
;
String sql =
"SELECT * FROM user where username=? and password=?"
;
Connection conn =
null
;
PreparedStatement ps=
null
;
int
i=
0
;
try
{
conn = getConnection();
ps=conn.prepareStatement(sql);
ps.setString(
1
, userName);
ps.setString(
2
, password);
ResultSet rs=ps.executeQuery();
if
(rs.next()){
returnValue=
true
;
}
}
catch
(ClassNotFoundException e) {
e.printStackTrace();
}
catch
(SQLException e) {
e.printStackTrace();
}
return
returnValue;
}
public
boolean
updateUser(User user) {
boolean
flag=
false
;
int
i=
0
;
Connection conn=
null
;
PreparedStatement ps=
null
;
String sql=
"insert into user (username,password,nickname,email) values(?,?,?,?)"
;
try
{
conn = getConnection();
ps=conn.prepareStatement(sql);
ps.setString(
1
, user.getUsername());
//对占位符设置值,占位符顺序从1开始,第一个参数是占位符的位置,第二个参数是占位符的值。
ps.setString(
2
, user.getPassword());
ps.setString(
3
, user.getNickname());
ps.setString(
4
, user.getEmail());
i=ps.executeUpdate();
if
(i>
0
){
flag=
true
;
}
}
catch
(ClassNotFoundException e) {
e.printStackTrace();
}
catch
(SQLException e) {
e.printStackTrace();
}
return
flag;
}
public
boolean
serchUserName(String userName){
boolean
returnValue =
false
;
String sql =
"SELECT * FROM user where username=?"
;
Connection conn =
null
;
PreparedStatement ps=
null
;
try
{
conn = getConnection();
ps=conn.prepareStatement(sql);
ps.setString(
1
, userName);
ResultSet rs=ps.executeQuery();
if
(rs.next()){
returnValue=
true
;
}
}
catch
(ClassNotFoundException e) {
e.printStackTrace();
}
catch
(SQLException e) {
e.printStackTrace();
}
return
returnValue;
}
public
boolean
serchEmail(String email){
boolean
returnValue =
false
;
String sql =
"SELECT * FROM user where email=?"
;
Connection conn =
null
;
PreparedStatement ps=
null
;
int
i=
0
;
try
{
conn = getConnection();
ps=conn.prepareStatement(sql);
ps.setString(
1
, email);
ResultSet rs=ps.executeQuery();
if
(rs.next()){
returnValue=
true
;
}
}
catch
(ClassNotFoundException e) {
e.printStackTrace();
}
catch
(SQLException e) {
e.printStackTrace();
}
return
returnValue;
}
}