`
Before_Morning
  • 浏览: 35355 次
文章分类
社区版块
存档分类
最新评论

DbUtils之ResultSetHandler的实现类

 
阅读更多

通过使用queryRunner的查询方法,我们知道其使用了回调机制。

下面就对其中的参数ResultSetHandler 的实现类进行不同的查询。

ResultSetHandler 接口用于处理 java.sql.ResultSet,将数据按要求转换为另一种形式

ResultSetHandler 接口提供了一个单独的方法:Object handle (java.sql.ResultSet .rs)

1.ArrayHandler

把结果集中的第一行数据转成对象数组

eg:

<span style="white-space:pre">	</span>//ArrayHandler:把结果集中的第一行数据转成对象数组。
	@Test
	public void test1() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		Object[] objs = runner.query("select * from account where money>?", new ArrayHandler(),500);
		System.out.println(objs);
	}

2.ArrayListHandler

把结果集中的每一行数据都转成一个对象数组,再存放到List中

<span style="white-space:pre">	</span>//ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。
	@Test
	public void tes2() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		List<Object[]> list = runner.query("select * from account where money>?", new ArrayListHandler(),500);
		System.out.println(list);
	}

3.BeanHandler

将结果集中的第一行数据封装到一个对应的JavaBean实例中

<span style="white-space:pre">	</span>//BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
	@Test
	public void tes3() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		Account acc = runner.query("select * from account where money>?", new BeanHandler<Account>(Account.class),500);
		System.out.println(acc);
	}

4.BeanListHandler

将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里

<span style="white-space:pre">	</span>//BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
	@Test
	public void tes4() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		List<Account>list = runner.query("select * from account where money>?", new BeanListHandler<Account>(Account.class),500);
		System.out.println(list);
	}

5.MapHandler

将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值

<span style="white-space:pre">	</span>//MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
	@Test
	public void tes5() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		 Map<String, Object> map = runner.query("select * from account where money>?", new MapHandler(),500);
		System.out.println(map);
	}

6.MapListHandler

将结果集中的每一行数据都封装到一个Map里,然后再存放到List

<span style="white-space:pre">	</span>//MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
	@Test
	public void tes6() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		List<Map<String, Object>> list = runner.query("select * from account where money>?", new MapListHandler(),500);
		System.out.println(list);
	}

7.ColumnListHandler

将结果集中某一列的数据存放到List中

<span style="white-space:pre">	</span>//ColumnListHandler:将结果集中某一列的数据存放到List中。
	@Test
	public void tes7() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		List<Object>list = runner.query("select * from account where money>?", new ColumnListHandler(3),500);
		System.out.println(list);
	}

8.KeyedHandler(name)

将结果集中的每一行数据都封装到一个Map里(List<Map>),再把这些map再存到一个map里,其key为指定的列

<span style="white-space:pre">	</span>//KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里(List<Map>),再把这些map再存到一个map里,其key为指定的列。
	@Test
	public void tes8() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		 Map<Object, Map<String, Object>> map = runner.query("select * from account where money>?", new KeyedHandler("id"),500);
		System.out.println(map);
	}

9.ScalarHandler

获取结果集中第一行数据指定列的值,常用来进行单值查询

<span style="white-space:pre">	</span>//ScalarHandler:获取结果集中第一行数据指定列的值,常用来进行单值查询
	@Test
	public void tes9() throws SQLException{
		QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
		Long count = (Long)runner.query("select count(*) from account",new ScalarHandler());
		System.out.println(count);
	}

分享到:
评论

相关推荐

    DBUtils框架ResultSetHandler接口使用

    DBUtils框架ResultSetHandler接口使用

    Commons DbUtils 使用说明.rar

    commons-dbutils 是 Apache 组织提供的一个...主要讲解两个类(org.apache.commons.dbutils.DbUtils 和org.apache.commons.dbutils.QueryRunner)和一个接口(org.apache.commons.dbutils.ResultSethandler)。 ......

    commons-dbutils

    commons-dbutils

    dbutils dbutils dbutils dbutils

    dbutils dbutils dbutils dbutils

    DBUtils.zip

    将常用的操作数据库的JDBC的类和方法集合在 一起,就是DBUtils.ResultSetHandler,此接口 用于处理数据库查询操作 得到的结果集。不同的结 果集的情形,由其不同的 子类来实现 QueryRunner,提供数据库操 作的一系列...

    Commons-dbutils1.7 jar包.rar

    参数中加上ResultSetHandler接口的实现类参数(下面这些实现类),执行完SQL后,返回的数据就是已经封装好的我们想要的结果了。 ArrayHandler :将ResultSet中第一行的数据转化成对象数组 ArrayListHandler将...

    commons-dbutils-1.6.jar包

    BasicRowProcessor RowProcessor接口的基本实现类. BeanProcessor BeanProcessor匹配列明到Bean属性名,并转换结果集列到Bean对象的属性中. DbUtils 一个JDBC辅助工具集合. ProxyFactory 产生JDBC接口的代理实现. ...

    DBUtils 工具类

    DBUtils 工具类

    DBUtils(通用的数据库工具类)

    DBUtils(通用的数据库工具类)DBUtils(通用的数据库工具类)

    dbutils工具类

    dbutils工具类的使用

    python类DBUtils安装包

    DBUtils 是一套允许线程化 Python 程序可以安全和有效的访问数据库的模块。DBUtils已经作为 Webware for Python 一部分用来结合 PyGreSQL 访问 PostgreSQL 数据库,当然他也可以用在其他Python应用程序中来访问 DB-...

    利用dbutils实现登录功能

    自己写的一个登录功能,利用dbutils(c3p0连接池)实现登录,每个都有注释,亲测可用

    DBUtils模拟用泛型实现

    DBUtils模拟用泛型实现,个人感觉比dbutils好用,不用类型转换。支持自定义结果集。

    DBUtils-QueryRunner类对数据表的操作

    JavaWeb之DBUtils-QueryRunner类对数据表的操作

    python-dbutils 简单封装

    python dbutils 简单封装

    DbUtils应用开发例子--DbUtilsExample.zip

    3.BeanListHandlerExample.java,演示BeanListHandler如何使用,BeanListHandler实现类将结果集转换成指定对象类型的集合。 4.InsertUpdateExample.java,演示如何执行添加和更新。 5.ResultSetHandlerExample.java,...

    JDBC学习(九)dbUtils原理代码实例

    JDBC学习(九)dbUtils原理代码实例,包含三个demo:正常C3P0数据库池对数据库的增删改查操作;自己实现dbutils对数据库实现增删改查操作;使用apache的工具类dbutils对数据库增删改查操作。

    commons-dbutils-1.7-API文档-中文版.zip

    赠送jar包:commons-dbutils-1.7.jar; 赠送原API文档:commons-dbutils-1.7-javadoc.jar; 赠送源代码:commons-dbutils-1.7-sources.jar; 赠送Maven依赖信息文件:commons-dbutils-1.7.pom; 包含翻译后的API文档...

    commons-dbutils.jar.rar

    commons-dbutils.jar jdbc工具类jar包 1.3、1.6、1.7三个版本

    模仿DBUtils(自己模仿DBUtils写的简易DBUtils)

    模仿DBUtils(自己模仿Commons DBUtils写的简易DBUtils),欢迎大家下载学习,这不是Apache旗下的DBUtils哦~

Global site tag (gtag.js) - Google Analytics