DBUtil+Druid任然存在不足:
如果再进行一次封装->BasicDao作为实现所有数据库常用的基础查询操作
1.所有数据库操作的基础类
public class BasicDao<T> {
private QueryRunner queryRunner = new QueryRunner();
//获取一条记录
public T getOne(String sql, Class<T> clazz, Object... params) {
Connection connection = DruidUtil.getConnection();
T result = null;
try {
result = queryRunner.query(connection, sql, new BeanHandler<T>(clazz), params);
} catch (SQLException e) {
e.printStackTrace();
} finally {
DruidUtil.close(null, null, connection);
}
return result;
}
//获取list
public List<T> getList(String sql, Class<T> clazz, Object... params) {
Connection connection = DruidUtil.getConnection();
List<T> list = null;
try {
list = queryRunner.query(connection, sql, new BeanListHandler<T>(clazz), params);
} catch (SQLException e) {
e.printStackTrace();
} finally {
DruidUtil.close(null, null, connection);
}
return list;
}
//增 删 改
public int update(String sql, Object... params) {
int updateCount = 0;
Connection connect = DruidUtil.getConnection();
try {
updateCount = queryRunner.update(connect, sql, params);
} catch (SQLException e) {
e.printStackTrace();
} finally {
DruidUtil.close(null, null, connect);
}
return updateCount;
}
}
2.StudentDao继承BasicDao
public class StudentDao extends BasicDao<Student> {
//继承了BasicDao的所有基础数据库操作方法
//可根据业务新增数据库操作方法
}
//student实体类
@Data
public class Student {
private int id;
private String name;
}
3.StudentDao使用测试
public class StudentDaoTest {
@Test
public void test() {
StudentDao studentDao = new StudentDao();
int count = studentDao.update("INSERT INTO student VALUES(?,?)", 1, "小明");
System.out.println(count > 0 ? "插入成功" : "没影响到数据库");
Student student = studentDao.getOne("SELECT * FROM student WHERE id = ?", Student.class, 1);
System.out.println(student);
List<Student> list = studentDao.getList("SELECT * FROM student", Student.class);
for (Student stu : list) {
System.out.println(stu);
}
}
}
BasicDao
最新推荐文章于 2023-11-15 21:11:45 发布