DBUtils工具包

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语言中一个可重复利用的组件。本质上就是一个类

 

 

 

 

 

commons-dbutils包是Apache开源组织提供的用于操作数据工具包。简单来讲,这个工具包就是用来更加方便我们操作数据的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据进行增删改查了。代码看着也很简洁。 例如: 增删改查使用的类:QueryRunner类+ResultSetHandler类,使用这俩类就可以解决掉。 QueryRunner类的query()方法:new QueryRunner().query(Connection conn, String sql, ResultSetHandler rsh) query方法后面参数中加一个Connection连接,是在获取不到数据源的情况下,也就是说,QueryRunner的实例化构造函数使用无参的那个,下面我的实现代码就是用的这种方法。 当然还有一种实例化:new QueryRunner(new Datasource()).query(String sql, ResultSetHandler rsh) query方法中的参数 ResultSetHandler 参数中加上ResultSetHandler接口的实现类参数(下面这些实现类),执行完SQL后,返回的数据就是已经封装好的我们想要的结果了。 ArrayHandler :将ResultSet中第一行的数据转化成对象数组 ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是Object[] BeanHandler :将ResultSet中第一行的数据转化成Bean对象 BeanListHandler :将ResultSet中所有的数据转化成List ColumnListHandler :将ResultSet中某一列的数据存成List KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map,Map中存放的是数据 MapHandler :将ResultSet中第一行的数据存成Map MapListHandler :将ResultSet中所有的数据存成List<Map> ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值