JDBC工具类
public class JDBCUtils {
public static Connection getConnection(){
Connection conn =null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/exam?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC","root","123456");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e1){
e1.printStackTrace();
}
return conn;
}
}
Dao层代码
public class UserDaoImpl implements UserDao {
public static Connection conn=JDBCUtils.getConnection();
public static PreparedStatement preStatement;
public static ResultSet set;
/**
* 查找所有用户的方法
* @return
*/
@Override
public List<User> findAll() {
List<User> list = new ArrayList<>();
try {
String sql = "select * from user";
preStatement = conn.prepareStatement(sql);
set = preStatement.executeQuery();
while(set.next()){
User user = new User();
user.setId(set.getInt("id"));
user.setUsername(set.getString("username"));
user.setPassword(set.getString("password"));
list.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
/**
* 删除用户方法
* @param id
* @return
*/
@Override
public int delete(int id) {
try {
String sql = "delete from user where id = ?";
preStatement = conn.prepareStatement(sql);
preStatement.setInt(1,id);
return preStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
/**
* 更新用户方法
* @param user
* @return
*/
@Override
public int update(User user) {
try {
String sql = "update user set username=?,password=? where id = ?";
preStatement = conn.prepareStatement(sql);
preStatement.setString(1,user.getUsername());
preStatement.setString(2,user.getPassword());
preStatement.setInt(3,user.getId());
return preStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
/**
* 保存用户方法
* @param user
* @return
*/
@Override
public int save(User user) {
try {
String sql = "insert into user(id,username,password) values(?,?,?)";
preStatement = conn.prepareStatement(sql);
preStatement.setInt(1,user.getId());
preStatement.setString(2,user.getUsername());
preStatement.setString(3,user.getPassword());
return preStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
/**
* 单查询方法
* @param id
* @return
*/
@Override
public User findById(int id) {
try {
String sql = "select * from user where id = ?";
preStatement = conn.prepareStatement(sql);
preStatement.setInt(1,id);
set = preStatement.executeQuery();
while(set.next()) {
User user = new User();
user.setId(set.getInt("id"));
user.setUsername(set.getString("username"));
user.setPassword(set.getString("password"));
return user;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}