common-dbutils.jar的作用以及用法
新建 QueryRunner
update(String sql, object[] params)-->可执行增,删,改
T query(string sql ResultSetHander rsh ,Object... params)-->执行查询
》它会先得到ResultSet,让后调用rsh的handle() 吧rs转换成需要的对象
ResultSetHander接口
*BeanHander--》构造器需要一个Class类型的参数,用来吧结果转换成指定类型的javaBean对象
*BeanListHandler--》构造器也需要一个Class类型,用来把结果集转换成一个javaBean对象
*MapHandler(单行)--》吧一行转换成一个map对象
*MapListHandler(多行)--》》 把一行记录转换成一个map
*ScalarHandler(单行单列)返回一个object类
新建 QueryRunner
update(String sql, object[] params)-->可执行增,删,改
T query(string sql ResultSetHander rsh ,Object... params)-->执行查询
》它会先得到ResultSet,让后调用rsh的handle() 吧rs转换成需要的对象
ResultSetHander接口
*BeanHander--》构造器需要一个Class类型的参数,用来吧结果转换成指定类型的javaBean对象
*BeanListHandler--》构造器也需要一个Class类型,用来把结果集转换成一个javaBean对象
*MapHandler(单行)--》吧一行转换成一个map对象
*MapListHandler(多行)--》》 把一行记录转换成一个map
*ScalarHandler(单行单列)返回一个object类
当然上面方法还有可以用Connection的,以后供事务使用
切记使用它,必须你的bean与数据库各个对象的名字一样
例子如下
/**
* BeanListHandler多行结果处理器,每行对应一个stu对象
* @throws Exception
*/
@Test
public void fun2() throws Exception{
QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());
String sql="select * from stu";
List<stu> lis= qr.query(sql, new BeanListHandler<stu>(stu.class));
System.out.println(lis);
}
/**
* MapHandler是单行处理器,把每行转换成一个map对象
*/
@Test
public void fun3() throws Exception{
QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());
String sql="select * from stu while sid=?";
Object[] params={11001};
Map mm= qr.query(sql, new MapHandler(),params);
System.out.println(mm);
}
/**
* MapListHandler是多行行处理器,把每行转换成一个map对象
*/
@Test
public void fun4() throws Exception{
QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());
String sql="select * from stu";
List<Map<String,Object>> lis= qr.query(sql, new MapListHandler());
System.out.println(lis);
}
/**
* ScalarHandler 单行单列查询
* @throws Exception
*/
@Test
public void fun5() throws Exception{
QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());
String sql="select count(*) from stu";
Object lis= qr.query(sql, new ScalarHandler());
System.out.println(lis);
}