BasicDao

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);
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值