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

相关文章

Spring点滴五:Spring中的后置处理器BeanPostProcessor讲解

https://www.cnblogs.com/sishang/p/6576665.html BeanPostProcessor接口作用:      如果我们想在Spring容器中完成bean实例化、配置以及其他初始化方法前后要添加一些自己逻辑处理。我们需要定义一个或多个BeanPostProcessor接口实现类,然后注册到Spring IoC容器中。   package com.t

【SpringMVC学习05】SpringMVC中的异常处理器

SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。 异常处理思路 我们知道,系统中异常包括两类:预期异常和运行时异常(RuntimeException),前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的dao、service、controller出现异常都通过throws E

Makefile问答之02 预处理器与宏

GCC Makefile中,怎样设定预处理器名称 在 GCC 的 Makefile 中,预处理器(preprocessor)的名称通常是 cpp(C PreProcessor),但在实际的 Makefile 中,我们一般是通过 gcc 命令来调用预处理器,而不是直接调用 cpp。不过,你可以通过设置 CPP 变量来显式指定预处理器名称和选项。以下是如何在 Makefile 中进行设置和使用的

MT6895(天玑8100)处理器规格参数_MTK联发科平台方案

MT6895平台 采用台积电5nm工艺,与天玑 8000 相比性能提升 20% ,搭载4 个 2.85GHz A78 核心 + 4 个 2.0GHz A55 核心,CPU能效比上一代提高 25% 。GPU 采用了第三代的Valhall Arm Mali-G610 MC6架构,拥有6核心,搭配天玑8100所拥有的HyperEngine5.0带来 5G 和 Wi-F i网络技术升级,包括 AI-VRS

tomcat连接池和dbutils使用

1.    配置tomcat下的conf下的context.xml文件,在<Context> </Context>之间添加连接池配置:             <Context>  <Resource name="jdbc/lhy"     <--对应web.xml     <res-ref-name> -->             auth="Container"

java内存分配,常量池,各种类型==比较

字符串内存分配: 首先: (1)String a="123"; (2)a="456"; String为final常量,会把字符串存入常量池,当第一步会先"123"放入常量池并分配内存地址,a为“123”的引用,即他的的内存地址为“123”的内存地址,第二步a的地址为“456”的地址      对于字符串,其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)

Shell编程:文本处理器(cut、split、paste、eval 命令)

文章目录 文本处理器 2cut 命令-快速裁剪语法格式常用选项示例 split 命令-文件拆分语法格式常用选项示例 paste 命令-文件合并语法格式常用选项示例 eval 命令-变量扫描器工作原理示例 文本处理器 2 本章讲解 grep、sort、uniq、tr、cut、split、paste 命令等。这些文本处理器通常用于数据过滤、转换、清理、格式化和提取等操作,

【ARM体系结构】ARM处理器流水线技术解析

引言 在现代计算机体系结构中,流水线技术是提高处理器性能的关键技术之一。ARM作为移动计算和嵌入式系统领域的领先架构,其流水线设计对于实现高效能、低功耗的处理器至关重要。本文旨在深入探讨ARM体系结构中流水线的概念、原理、分类,并分析影响流水线性能的关键因素,同时详细阐述指令执行过程的典型步骤,为理解和优化ARM处理器性能提供理论基础和实践指导。 流水线的概念与原理 概念 在ARM体系结

ARM——结构体系(处理器工作模式,CPSR,立即数,汇编语言函数调用)

1、处理器工作模式          ARM有7个基本工作模式:User:非特权模式,大部分任务执行在这种模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式IRQ:当一个低优先级(normal)中断产生时将会进入这种模式Supervisor:当复位或软中断指令执行时将会进入这种模式Abort:当存取异常时将会进入这种模式Undef:当执行未定义指令时会进入这种模式Sy

《ARM Cortex-R 学习指南》-【第十四章】-为 Cortex-R 处理器编写代码

快速链接: . 👉👉👉 ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 付费专栏-付费课程 【购买须知】 个人博客笔记导读目录(全部) 第十四章 为 Cortex-R 处理器编写代码 你可以针对功耗、速度、代码密度或内存占用来优化代码。许多 GNU GCC 和 ARM 编译器功能利用 Cortex-R 系列设计生成优化代码。 14.1 编译器优化