DBUtils

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

  • dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作不在他的考虑范围

QueryRunner runner = new QueryRunner();

//增删改
runner.update();

//查询
runner.query();

  1. 导入jar包 commons-dbutils-1.4.jar

  2. 基本代码如下:

增删改

//创建 QueryRunner 对象
QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
		
//增加
queryRunner.update("insert into account values (null , ? , ? )", "aa" ,1000);

//删除
	queryRunner.update("delete from account where id = ?", 5);
		
//更新
	queryRunner.update("update account set money = ? where id = ?", 10000000 , 6);
		

查询

  1. 直接new接口的匿名实现类
	QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());

	Account  account =  queryRunner.query("select * from account where id = ?", new ResultSetHandler<Account>(){

		@Override
		public Account handle(ResultSet rs) throws SQLException {
			Account account  =  new Account();
			while(rs.next()){
				String name = rs.getString("name");
				int money = rs.getInt("money");
				
				account.setName(name);
				account.setMoney(money);
			}
			return account;
		}
		 
	 }, 6);
	
	System.out.println(account.toString());
  1. 直接使用框架已经写好的实现类
  • 查询单个对象
    BeanHandler
new BeanHandler<Account>(Account.class)
// 通过类的字节码得到该类的实例
//创建一个类的实例。
		Account a=  Account.class.newInstance();

示例:

	QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
	//查询单个对象
	Account account = queryRunner.query("select * from account where id = ?", 
			new BeanHandler<Account>(Account.class), 8);
  • 查询多个对象
    BeanListHandler
	QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
	
	List<Account> list = queryRunner.query("select * from account ",
			new BeanListHandler<Account>(Account.class));

//打印
for (Account account : list) {
			System.out.println(account.toString());
}

ResultSetHandler 接口常用的实现类
以下两个是使用频率最高的

BeanHandler, 查询到的单个数据封装成一个对象
BeanListHandler, 查询到的多个数据封装 成一个List<对象>


ArrayHandler==, 查询到的单个数据封装成一个数组
ArrayListHandler==, 查询到的多个数据封装成一个集合 ,集合里面的元素是数组。

MapHandler==, 查询到的单个数据封装成一个map
MapListHandler==,查询到的多个数据封装成一个集合 ,集合里面的元素是map。

ColumnListHandler
KeyedHandler
ScalarHandler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值