DBUtils
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能
使用:
1、导入jar包 commons-dbutils-1.4.jar
2、代码展示
//dbutils 只是帮我们简化了CRUD 的代码, 但是连接的创建以及获取工作。 不在他的考虑范围
//创建 QueryRunner 对象
QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
//增加
runner.update("insert into account values(null,?,?)", "aa",1000);
//删除
runner.update("delete from account where id=?", 11);
//修改
runner.update("update account set money=10000 where name = ?", "aobama");
//查询
//1、直接new接口的匿名实现类
Account account = runner.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.setMoney(money);
account.setName(name);
}
return account;
}
},10);
System.out.println(account.toString());
//2、直接使用框架已经写好的实现类。
//查询单个对象
Account account = runner.query("select * from account where id=?",new BeanHandler<Account>(Account.class), 10);
System.out.println(account.toString());
//查询对象列表
List<Account> list = runner.query("select * from account",new BeanListHandler<Account>(Account.class));
for (Account account2 : list) {
System.out.println(account2.toString());
}
ResultSetHandler 常用的实现类
以下两个是使用频率最高的
BeanHandler, 查询到的单个数据封装成一个对象
BeanListHandler, 查询到的多个数据封装 成一个List<对象>
------------------------------------------
ArrayHandler, 查询到的单个数据封装成一个数组
ArrayListHandler, 查询到的多个数据封装成一个集合 ,集合里面的元素是数组。
MapHandler, 查询到的单个数据封装成一个map
MapListHandler,查询到的多个数据封装成一个集合 ,集合里面的元素是map。
ColumnListHandler
KeyedHandler
ScalarHandler