什么是Dbutils
Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。就是将有参数和无参数增删改查进行了封装。
为什么要使用Duutils?
如果使用JDBC进行开发,我们会发现冗余代码过多。在JDBC进行项目开发的时候,我们使用增删改查进行数据查询,如果我们做一个很大的项目的时候,这些语句需要反复使用,我们可以将这些语句进行封装,使用的时候就调用。
Dbutils如何使用
需要进行导包,这是一个第三方jar包,我们手动导入后,才可以使用里面的类。
导入的包为:Commons-dbUtils-1.4jar。该jar包封装并简化了JDBC,简化了我们的代码。
利用Dbutils中操作数据库的类
它是apachecommons组件一个成员:Dbutils 是java编程中数据库操作一个实用的工具,有三个核心功能:
QueryRunner: update用来表示数据更新操作,query用来进行数据查询
ResultSetHandler接口(结果集处理):这个主要是针对查询出来的数据进行封装
利用QueryRunner进行增删改查
插入操作:
Connection con = JDBCUtil.getConnetion(); // 将数据库连接封装到了一个工具 进行连接
QueryRunner qr=new QueryRunner();
String sql="INSERT INTO rentinfo (TYPE,rent,areq,agencyPrice)VALUES (?,?,?,?)";
Object[] params={"主卧",2000,16,0};
int row = qr.update(sql);
if(row>0){
System.out.println("更新成功");
}else{
System.out.println("更新失败");
}
JDBCUtil.close();
删除操作:
Connection con = JDBCUtil.getConnetion();
//进行查询
QueryRunner qr=new QueryRunner();
String sql="DELETE FROM rentinfo WHERE TYPE=? AND rent=?";
Object[] parms={"主卧",2000};
int row = qr.update(sql);
if(row>0){
System.out.println("更新失败");
}else{
System.out.println("更新成功");
查询操作
Connectioncon = JDBCUtil.getConnetion();
QueryRunner qr=new QueryRunner();
String sql="SELECT * FROM rentinfoWHERE TYPE=?";
// String params="主卧";//知道参数类型的情况
Object[] params={"主卧"};//不知道参数类型
rentinfo qu = qr.query(con, sql,newBeanHandler<>(rentinfo.class),params);
System.out.println(qu);
con.close();
进行查询操作的时候,有时候返回只有一条数据,有的时候返回的就很多条数据。进行查询的时候对结果集的处理有几个类,我们常用的有以下几个类
如果数据集只有一条,一般用BeanHandler进行封装,也就是将第一条数据封装到实体中。
如果数据集有多条,一般用BeanListHandler进行封装,也就是将每一行数据作为一个对象,封装到集合中。
总结:数据库操作几乎是一个项目中,比较重要的一部分了。增删改查我们再熟悉不过了,只有熟练掌握了这些基本操作,让我们更好的提高效率。