一、概念
如果只使用JDBC进行开发,我们会发现冗余代码过多。为了解决一些代码的重复使用问题,我们将代码封装在类中,然后使用时直接调用。而DBUtils就是JDBC的简化开发工具包,在使用时导入commons-dbutils-1.6jar。
二、核心功能
QueryRunner:提供对SQL语句操作的API
update(Connection conn, String sql,Object... params):完成表数据的增加、删除、更新操
query(Connectionconn,String sql,ResultSetHandler<T> rsh,Object... params):用来完成表数据的查询操作
ResultSetHandler:对于查询出来的结果集进行封装
DBUtils:定义了关闭资源与事务处理的方法
三、QueryRunner增删改
将commons-dbutils-1.6jar导入后进行使用
package QueryRunner;
import java.sql.Connection;
import org.apache.commons.dbutils.QueryRunner;
/*
* 增加操作insert
*/
public class QueryRunnerUpdate {
public static void main(String[] args) {
try {
//获取一个用来执行SQL语句的对象
QueryRunner qr=new QueryRunner();
String sql="insert into sort (sname,sprice,sdesc) values (?,?,?)";
Object[] params={"男人相对论",100,"作者秋微"};
//通过工具类连接数据库
Connection con=JDBCUtils.getConnection();
//执行操作
int line=qr.update(con, sql, params);
System.out.println(line);
} catch (Exception e) {
}
}
}
四、QueryRunner查:ResultSetHandler结果集处理类
例子:ArrayListHandler
public static void ArrayListHandlerDemo(){
try {
//获得QueryRunner对象
QueryRunner qr=new QueryRunner();
//SQL语句和参数
String sql="select * from sort";
//连接数据库
Connection con=JDBCUtils.getConnection();
//执行
List<Object[]> objArray=qr.query(con,sql,new ArrayListHandler());
//对结果集进行处理
for (Object[] obj : objArray) {
System.out.println(Arrays.toString(obj));
}
con.close();
} catch (Exception e) {
}
}
ResultSetHandler结果集处理类的不同,其实就是在传参和接收的时候不同,然后将其遍历显示在控制台的过程。
小结:
DBUtils是java编程中的数据库操作实用工具,小巧简单,封装了对JDBC的操作,简化了JDBC操作。