DBUtils是一个对JDBC进行封装的开源工具类库,由Apache组织提供,它能够简化JDBC应用程序的开发,降低开发者的工作量。
一、作用:
1、写操作,对于数据库的增删改,只需写SQL语句即可
2、读操作,将结果集转换成常用Java集合类,方便对结果集进行处理
3、优化性能,可以使用数据源,JNDI,数据库连接池技术等来减少代码冗余
二、核心成员:
1、DBUtils类:为装置驱动,关闭资源等常规操作提供方法,它的方法一般是静态的,直接以类名来调用
2、QueryRunner类:用于执行sql语句,和JDBC中PreparedStatement类的功能类似。封装了执行sql语句的代码,在获
取结果集时和就接口ResultHandler配合使用。
3、ResultHandler接口:用于处理查询数据库获取的结果。
三、DBUtils实现DML操作:
1、创建QueryRunner对象
QueryRunner类是SQL语句的执行者。它有两种构造方法:
<1> new QueryRunner(DataSource ds):它的事务时自动控制的,一个SQL命令即一个事务。使用此构造方法构建对 象,当调用其方法(如:query,update)时,不用考虑Connection对象。
<2> new QueryRunner():可以进行事务的手动管理。使用此构造方法构建对象,当调用其方法(如:query,update) 时,要传入Connection对象作为参数。
?如果不考虑事务管理,一般使用第一种构造方法
2、实现DML操作
导入DBUtils类的jar包:
下载地址:https://pan.baidu.com/s/1JvMMxn05frPvs6H2VP-lSQ
提取码:cpr8
DBUtils类,该类向DBUtils提供数据库连接池
package com.jdbc.pool;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DButils1 {
//获取连接池对象
private static ComboPooledDataSource dataSource=new ComboPooledDataSource("itcast");
//提供datasource数据源
public static ComboPooledDataSource getDataSource(){
return dataSource;
}
}
DBUtils_Insert类用于测试向数据库表添加数据
package com.jdbc.pool;
import org.apache.commons.dbutils.QueryRunner;
public class DBUtils_Insert {
public static void main(String[] args) {
//通过有参构造方法生成QueryRunner对象
QueryRunner queryRunner=new QueryRunner(DButils1.getDataSource());
try{
//执行Sql语句
int count=queryRunner.update("insert into student(sID,sName,sAge) values('023','Linda',34)");
if(count>0){
System.out.println("数据添加成功");
}else{
System.out.println("数据添加失败");
}
}catch(Exception exception){
exception.printStackTrace();
}
}
}
运行结果:
四、DBUtils实现DQL操作
1、JavaBean
JavaBean是Java语言中一个可重复利用的组件。本质上就是一个类