Apache的DbUtils使用

Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时,不会影响程序的性能。

DbUtils简介

DbUtils是Java编程中数据库操作的实用小工具,小巧、简单、实用。

  • 对于数据表的查询操作,可以把结果转换为List、Array、Set等集合,便于操作。
  • 对于数据表的DML操作,也变得很简单(只需要写SQL语句)。

DbUtils主要内容

ResultSetHandler接口:转换类型接口

  • BeanHandler类:实现类,把一条记录转换成对象。
  • BeanListHandler类:实现类,把多条记录转换成List集合。
  • ScalarHandler类:实现类,适合获取一行一列的数据。

QueryRunner:执行sql语句的类

  • 增删改:update();
  • 查询:query();

DbUtils的使用步骤

  • 导入jar包:
    • mysql连接驱动jar包;
    • druid-1.2.3.jar;
    • commons-dbutils-1.7.jar;
  • 创建配置文件database.properties

代码实现

进行操作的表t_student如下:

stu_idstu_namestu_sexstu_major
  • 创建QueryRunner对象,务必调用有参构造方法。该类的构造方法可接收一个连接池对象。

    private QueryRunner QueryRunner=new QueryRunner(DbUtils.getDataSource());
    

    DbUtils.getDataSource()从工具类中获取连接池对象,我用的是Druid连接池,工具类代码略。

  • 新增

    //新增的sql语句
    String sql="insert into t_student(stu_id,stu_name,stu_sex,stu_major) value(?,?,?,?)";
    //参数列表
    Object[] params= {student.getStu_id(),student.getStu_name(),student.getStu_sex(),student.getStu_major()};
    //返回受影响行数
    return QueryRunner.update(sql,params);
    
  • 删除

    //删除的sql语句
    String sql="delete from t_student where stu_id=?";
    //返回受影响的行数
    return QueryRunner.update(sql,stu_id);
    
  • 修改

    //修改的sql语句
    String sql="update t_student set stu_name=?,stu_sex=?,stu_major=? where stu_id=?";	
    //参数列表
    Object[] params= {student.getStu_name(),student.getStu_sex(),student.getStu_major(),student.getStu_id()};
    //返回受影响的行数
    return QueryRunner.update(sql,params);
    
  • 查询单行数据

    //查询的sql语句
    String sql="select * from t_student where stu_id=?";
    //接收查询结果
    t_student student=QueryRunner.query(sql,new BeanHandler<t_student>(t_student.class),stu_id);
    //返回查询结果封装的对象
    return student;
    
  • 查询多行数据

    //查询的sql语句
    String sql="select * from t_student";
    //接收查询结果集合
    List<t_student> students=QueryRunner.query(sql,new BeanListHandler<t_student>(t_student.class));
    //返回结果集合
    return students;
    
  • 查询单行单列的数据,用得少,一般用来求和之类的

    //查询的sql语句
    String sql="select count(*) from t_student";
    //接收查询结果
    long reslut=QueryRunner.query(sql, new ScalarHandler<>());
    //返回结果
    return reslut;
    

    需要注意的是,查询单行单列的返回结果需要用long类型来接收。

以上就是Commons DbUtils工具包增删改查的使用方法,为了便于观察我只把相关代码罗列了出来,不过方法主体内容也就只有这些,看上去很简单,不用自己去获取连接、预编译啥的,只需要在DaoImpl类中编写相关sql语句然后调用工具方法就行了。

虽然看上去有偷懒的嫌疑,但工具类的相关源码实际上是以前学习时手写过的内容,知道实现原理那也就不算是偷懒了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值