使用dbutils-commons.jar可以简化有关操作数据库的代码
QueryRunner
update方法int update(String sql,Object...params):执行增删改语句
int update(Connection con,String sql,Object...params):需要调用者提供Connection,该方法不再管理Connection(支持事务)
query方法
T query(String sql,ResultSetHandler rsh,Object...params):执行查询语句先得到ResultSet,然后调用rsh的handle()把rs转换成需要的对象
T query(Connection con,String sql,ResultSetHandler rsh,Object...params):(支持事务)
结果集处理器
ResultSetHandler接口
——BeanHandler(单行):构造器需要一个Class类型的参数,用来把一行结果转换成指定类型的JavaBean
——BeanListHandler(多行):构造器需要一个Class类型的参数,用来把一行结果转换成指定类型的JavaBean,把
多行结果转换成对应JavaBean的List
——MapHandler(单行):把一行结果转换成Map对象
——MapListHandler(多行):把一行记录转换成一个Map,多行就是多个Map
——ScalarHandler(单行单列):通常与select count(*) from t_stu语句用在一起,返回一个Object
public void fun() throws SQLException {
// 创建QueryRunner,需要提供数据库连接池对象
QueryRunner qr = new QueryRunner(JdbcUtils.getDataSource());
// 给出sql模板
String sql = "select * from t_stu where sid=?";
// 给出参数
Object[] params = {1001};
// 执行query()方法,需要给出结果集处理器,即ResultSetHandler的实现类对象
Stu stu = qr.query(sql, new BeanHandler<Stu>(Stu.class), params);
System.out.println(stu);
}