dbutils各种类型处理器

2024-05-04 19:18

本文主要是介绍dbutils各种类型处理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.ArrayHandler把结果集的第一行数据转换成对象数组
    @Testpublic void testArrayHandler() throws SQLException{QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";Object result[]=(Object [])qr.query(sql, new ArrayHandler());System.out.println(Arrays.asList(result));}

2.ArrayListHandler把结果集的每一行数据转换成对象数组,再存放到List中
   
@Testpublic void testArrayListHandler() throws SQLException{QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";List<Object []> list=(List) qr.query(sql, new ArrayListHandler());for(Object[] l:list){System.out.println(Arrays.asList(l));

3.BeanHandler将结果中的第一行数据封装到一个对应javaBean


@Testpublic void testBeanHandler() throws SQLException{QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";User user=(User) qr.query(sql, new BeanHandler(User.class));	System.out.println(user.getBirthday());}

4.BeanListHandler把结果集的每一行数据转换成一个对应javaBean,在放到List中

@Testpublic void testBeanListHandler() throws SQLException{QueryRunner qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";List<User> list=(List<User>) qr.query(sql, new BeanListHandler(User.class));for(User user:list){System.out.println(Arrays.asList(user.getBirthday()));}}

5.columnListHandler将结果集中的某一列存放到一个List中
<span style="font-size:12px;">@Testpublic void testColumnListHandler() throws SQLException{QueryRunner  qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";List list=(List)qr.query(sql, new ColumnListHandler("name")); for(Object obj:list){System.out.println(obj);}}</span>

6.KeyedHandler:将结果集中的数据都封装成一个map,在将这些map存放到一个map中,Key为指定的key

<span style="font-size:12px;">@Testpublic void testKeyedHandler() throws SQLException{QueryRunner  qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";Map<Integer,Map> map=(Map) qr.query(sql, new KeyedHandler("id"));Iterator<Entry<Integer, Map>> it=map.entrySet().iterator();while(it.hasNext()){Entry<Integer,Map> entry=it.next();int id=entry.getKey();//System.out.println(id);Map<String, Object> map2=entry.getValue();for(Map.Entry<String, Object> mapEntry:map2.entrySet()){String keyString=mapEntry.getKey();Object obj=mapEntry.getValue();System.out.println(keyString+" "+obj);}}}</span>


7.MapHandler:将结果集中的第一行数据都封装成一个map,key就是列名,value就是对应的值

@Testpublic void testMapHandler() throws SQLException{QueryRunner  qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";Map<String,Object> map=(Map<String, Object>)qr.query(sql, new MapHandler()); Iterator iterator=map.entrySet().iterator();while(iterator.hasNext()){Map.Entry<String, Object> map2=(Entry<String, Object>) iterator.next();String key=map2.getKey();Object value=map2.getValue();System.out.println(key+" "+value);}}


8.MapListHandler:将结果集中的每一行数据都封装成一个map,key就是列名,value就是对应的值。再放到一个List中

<span style="font-size:12px;">@Testpublic void testMapListHandler() throws SQLException{QueryRunner  qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select * from user";List<Map<String,Object>> list=(List<Map<String, Object>>)qr.query(sql, new MapListHandler()); for(Map<String, Object> map:list){Iterator iterator=map.entrySet().iterator();while(iterator.hasNext()){Map.Entry<String, Object> map2=(Entry<String, Object>) iterator.next();String key=map2.getKey();Object value=map2.getValue();System.out.println(key+" "+value);}}}</span>


9.ScalarHandler:返回结果集中的第一行的指定列的一个值。

public void testScalarHandler() throws SQLException{QueryRunner  qr=new QueryRunner(JdbcUtils.getDataSource());String sql="select count(*) from user";long l=(Long)qr.query(sql, new ScalarHandler(1));int i=(int)l;System.out.println(i);}


这篇关于dbutils各种类型处理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959927

相关文章

C# 中变量未赋值能用吗,各种类型的初始值是什么

对于一个局部变量,如果未赋值,是不能使用的 对于属性,未赋值,也能使用有系统默认值,默认值如下: 对于 int 类型,默认值是 0;对于 int? 类型,默认值是 null;对于 bool 类型,默认值是 false;对于 bool? 类型,默认值是 null;对于 string 类型,默认值是 null;对于 string? 类型,哈哈,没有这种写法,会出错;对于 DateTime 类型,默

关于修改计算机的处理器数和最大内存数的问题

问题描述: 刚开始本来是想让计算机的运行速度运行的快点,于是在网上搜索如何让计算机的运行速度更快,找到了一种关于修改计算机内存数和计算机的处理核数可以让计算机运行的更快。 遇到问题: 当我通过命令msconfig →引导→高级选项→勾选了处理器数和最大内存数,然后重启,结构整个计算机都卡的要死,于是记录下来。网上的答案有时候真的是很不负责任,也有可能是自己技术不到位。 结果:取消处理器和内

spring-mvc 详解(二)处理器

我们先看看HTTP请求报文 包括5部分: 请求方法:GET和POST,以及DELETE,HEAD,OPTIONS,PUT,TRACE.大多数浏览器只支持(Post,Get)。表单使用post提交,Spring通过HiddenHttpMethodFilter 根据——method参数模拟相应的HTTP方法。请求对应的URL,它和报文头的Host属性组成完整的URL请求。协议名称以及版本号HT

【Windows脚本】打印机脚本3-连接共享打印机,提示【Windows 无法连接到打印机。打印处理器不存在】

问题 连接共享打印机,提示【Windows 无法连接到打印机。打印处理器不存在】。 打印机型号:LaserJet Professional P1106 Windows系统:win10x64 解法 计算机开机后故障出现,再重启打印机服务后恢复正常。 可以写成如下bat脚本,放在开机启动中。  @echo offecho 停止打印机服务...net stop Spoolerecho

SimpleUrlHandlerMapping 处理器映射的配置--转

原文地址是:http://blog.csdn.net/rainier001/article/details/6860491 <?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/

如何实现各种行业各种类型会员卡体系的设计

背景:目前很多的公司都有自己的会员体系,那么如何让用户成为会员呢?增加用户的粘性。如果你是一个架构师如何长远的设计整体的方案,从而兼容各种业务场景的使用?比如淘宝的88vip会员卡,肯德基的会员卡,麦当劳的会员卡,鲜丰水果的会员卡,京东会员卡,等等各种电子会员卡,有的是收费的,有的是免费的。 设计:

DBUtils结果集处理器介绍

common-dbutils.jar是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。 1、QueryRunner类 ①update方法: int update(String sql,Object...params) -->可执行增删改语句int update(Connection con,String sq

【C#】字符串处理器

实现: 统计字符串中单词的数量。查找字符串中最长的单词,并显示其长度。将字符串中的所有单词首字母大写。将字符串中的所有单词反转。 要求: 使用面向对象的方式实现,包括至少一个类(例如 StringProcessor)。不使用现成的字符串处理函数(例如 Split、Reverse 等),自行实现相应的功能。提供命令行界面,不需要图形用户界面。 代码实现: 1.定义StringProcess

「C系列」C 预处理器

文章目录 一、C 预处理器二、C 预处理器指令1. `#include`2. `#define` 和 `#undef`3. `#if`、`#elif`、`#else` 和 `#endif`4. `#ifdef` 和 `#ifndef`5. `#line`6. `#error` 和 `#warning`7. `#pragma` 三、C 预定义宏1. `__LINE__`2. `__FILE__

戴尔第十一代十二代十三代处理器重装系统找不到驱动程序

一、戴尔第十一代十二代十三代处理器重装系统找不到驱动程序 VMD(Volume Management Device)是针对下一代存储推出的部署方案。这套方案支持从 PCIe 总线对 NVMe 固态盘进行热升级和更换,而无需关闭系统,同时标准化 LED 管理可帮助更快速地识别固态盘状态。 英特尔第11代处理器(Intel Tiger Lake),该处理器采用最新的Intel VMD技术,*需要安