DBUtil
Posted luoqi123456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBUtil相关的知识,希望对你有一定的参考价值。
DBUtils
增删改
//dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围
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);
查询
直接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());
直接使用框架已经写好的实现类。
查询单个对象
QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
//查询单个对象
Account account = queryRunner.query("select * from account where id = ?",
new BeanHandler查询多个对象
QueryRunner queryRunner = new QueryRunner(new ComboPooledDataSource());
List
ResultSetHandler 常用的实现类
以下两个是使用频率最高的
BeanHandler, 查询到的单个数据封装成一个对象
BeanListHandler, 查询到的多个数据封装 成一个List<对象>
ArrayHandler, 查询到的单个数据封装成一个数组
ArrayListHandler, 查询到的多个数据封装成一个集合 ,集合里面的元素是数组。
MapHandler, 查询到的单个数据封装成一个map
MapListHandler,查询到的多个数据封装成一个集合 ,集合里面的元素是map。
ColumnListHandler
KeyedHandler
ScalarHandler
总结
事务
使用命令行演示
使用代码演示
脏读、
不可重复读、
幻读
丢失更新
悲观锁
乐观锁
4个隔离级别
读未提交
读已提交
可重复读
可串行化
数据连接池
DBCP
不使用配置
使用配置
C3P0
不使用配置
使用配置 (必须掌握)
自定义连接池
装饰者模式
DBUtils
简化了我们的CRUD , 里面定义了通用的CRUD方法。
queryRunner.update();
queryRunner.query
以上是关于DBUtil的主要内容,如果未能解决你的问题,请参考以下文章