DbUtils实现数据的增删改查
话不多说,上代码!!!
User类
package com.ycy1;
import java.util.Date;
public class User {
private int id;
private String username;
private String password;
private String email;
private Date birthday;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(int id, String username, String password, String email, Date birthday) {
super();
this.id = id;
this.username = username;
this.password = password;
this.email = email;
this.birthday = birthday;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password=" + password + ", email=" + email
+ ", birthday=" + birthday + "]";
}
}
UserDao类
package com.ycy1;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.util.DBUtil;
public class UserDao {
// 插入一个用户
public boolean insertUser(User user) throws SQLException {
QueryRunner queryRunner = new QueryRunner(DBUtil.getDataSource());
String sql = "insert into user (username,password,email,birthday) values (?,?,?,?)";
Date birthday = new Date(user.getBirthday().getTime());
Object[] params = { user.getUsername(), user.getPassword(), user.getEmail(), birthday };
int update = queryRunner.update(sql, params);
System.out.println(update);
if (update > 0) {
return true;
} else {
return false;
}
}
// 删除用户
public boolean deleteUser(int id) throws SQLException {
QueryRunner queryRunner = new QueryRunner(DBUtil.getDataSource());
String sql = "delete from user where id = ?";
Object[] param = { id };
int update = queryRunner.update(sql, param);
if (update > 0) {
return true;
} else {
return false;
}
}
// 修改用户
public boolean updateUser(User user) throws SQLException {
QueryRunner queryRunner = new QueryRunner(DBUtil.getDataSource());
String sql = "update user set username = ?,password = ?,email = ?,birthday = ? where id = ?";
long time = user.getBirthday().getTime();
Date birthday = new Date(time);
Object[] params = { user.getUsername(), user.getPassword(), user.getEmail(), birthday, user.getId() };
int update = queryRunner.update(sql, params);
if (update > 0) {
return true;
} else {
return false;
}
}
// 查询单个用户
public User findUser(int id) throws SQLException {
QueryRunner queryRunner = new QueryRunner(DBUtil.getDataSource());
String sql = "select * from user where id = ?";
Object[] param = { id };
BeanHandler<User> beanHandler = new BeanHandler<>(User.class);
User findUser = queryRunner.query(sql, beanHandler, param);
return findUser;
}
// 查询所有用户
public List<User> findAllUser() throws SQLException {
QueryRunner queryRunner = new QueryRunner(DBUtil.getDataSource());
String sql = "select * from user";
BeanListHandler<User> beanListHandler = new BeanListHandler<>(User.class);
List<User> list = queryRunner.query(sql, beanListHandler);
return list;
}
}
测试类
package com.ycy1;
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;
public class Test01 {
public static void main(String[] args) throws SQLException {
User user = new User(6, "ycy", "123456", "410892683@qq.com", Date.valueOf("1998-03-06"));
UserDao dao = new UserDao();
//插入一个用户
boolean insertUser = dao.insertUser(user);
System.out.println(insertUser);
//根据ID删除用户
// boolean deleteUser = dao.deleteUser(6);
// System.out.println(deleteUser);
//修改用户信息
// boolean updateUser = dao.updateUser(user);
// System.out.println(updateUser);
//根据ID查找用户信息
// User findUser = dao.findUser(6);
// System.out.println(findUser);
//查询所有用户信息
List<User> findAllUser = dao.findAllUser();
for(User u : findAllUser) {
System.out.println(u);
}
}
}