该类简单化了SQL查询,它与ResultSetHandler组合在一起使用可以完成大部分的数据库操作,能够大大减少编码量。

QueryRunner类提供了两个构造方法:

默认的构造方法

需要一个 javax.sql.DataSource 来作参数的构造方法。

大文本操作

QueryRunner类的主要方法

public Object query(Connection conn,String sql,Object[] params,ResultSetHandler rsh) throws SQLException:执行一个查询语句的置换参数。该方法会自行处理PreparedStatement和ResultSet的创建和关闭。

public Object query(String sql,Object[] params,ResultSetHandler rsh) throws SQLException:几乎与第一种方法一样,唯一的不同在于它不将数据库提供给方法,并且是从提供给构造方法的数据源(DataSource) 或使用的setDataSource 方法中重新获得 Connection。

public Object query(Connection conn, String sql, ResultSetHandler rsh) throws SQLException : 执行一个不需要置换参数的查询操作。

public int update(Connection conn, String sql, Object[] params) throws SQLException:用来执行一个更新(插入、更新或删除)操作。

public int update(Connection conn, String sql) throws SQLException:用来执行一个不需要置换参数的更新操作。

ResultSetHandler接口

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

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

ResultSetHandler 接口的实现类

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/future-zmy/p/6193092.html

QueryRunner类相关推荐

  1. C3P0Util 的制作 及DButils 中的 QueryRunner 类的使用

    C3P0Util 的制作 及DButils 中的 QueryRunner 类的使用 步骤: 导入jar 包 c3p0-0.9.1.2.jar commons-dbutils-1.4.jar mysql ...

  2. JDBC学习之QueryRunner类及query方法的使用

    QueryRunner类是DbUtils工具类里的核心类之一,提供了多种重载的query方法. 在API里对此类的介绍如下:Executes SQL queries with pluggable st ...

  3. QueryRunner类 的應用,以及ResultSetHandler 接口的实现类

    1 .该接口用于处理 java.sql.ResultSet,将数据按要求转换为另一种形式. ResultSetHandler 接口提供了一个单独的方法:Object handle (java.sql. ...

  4. TxQueryRunner类对结果集封装成bean、map及object的操作

    一.需要的jar包: itcast-tools-1.4.jar     http://pan.baidu.com/s/1Dbo2i commons-beanutils-1.8.3.jar    htt ...

  5. java db类_Java-jdbc-DBUtils工具类介绍

    如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils. DBUtils就是JDBC的简化开发工具包.需要项 ...

  6. basicdatasourcefactory mysql_Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中"获得连接"或"释放资源 ...

  7. 30_java之DButils工具类

    01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类* a: 概述* DBUtils是java编程中的数据库操作实用工具,小巧简单实用.* DBUtils封装了 ...

  8. JDBCamp;amp;c3p0、事务、批处理、多线程 于一体的经典秘方QueryRunner (common-dbutils)

    目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...

  9. 《JavaWeb从入门到改行》JDBC经典秘方QueryRunner

    目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...

  10. JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD

    JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...

最新文章

  1. 面试官:为什么 SpringBoot 的 jar 可以直接运行?
  2. 在Windows上使用终端模拟程序连接操作Linux以及上传下载文件
  3. 第1课 - make和makefile
  4. 大数开方(Java版)
  5. macOS 跳过非 AppStore 下载的软件打开时的验证步骤
  6. item 24: 区分右值引用和universal引用
  7. mysql数据库的新特性_【数据库】MySQL新特性归档介绍
  8. LeetCode之Number Complement
  9. 牛!这位85后获得全球最高几何奖!
  10. php处理ajax post请求超时,php – 如何处理AJAX请求中的会话超时
  11. android 默认shell busybox,采用busybox 代替android 自带的shell
  12. 微信小程序地图点聚合
  13. 触摸屏的校准方法(转)
  14. 使用d3.js绘制曲线图
  15. 瓦伦达心态——再谈工作中的专注和心态
  16. Java设计模式:1.1.认识六个原则(开闭,里氏替代,依赖颠倒)
  17. java生成圆形二维码logo
  18. python爬带用户名密码的网页_python爬虫:使用账号、密码和验证码登录知乎网页...
  19. 特斯拉充电电流设置多大_特斯拉充电要多久
  20. Arduino ESP32 基于Web服务端SD文件管理系统完善

热门文章

  1. python时间操作代码
  2. EMNLP 2022 和 COLING 2022,投哪个会议比较好?
  3. 【知识图谱】一文全览,ICLR 2020 上的知识图谱研究
  4. 【结巴分词】浅谈结巴分词算法原理
  5. 西瓜书学习笔记2-多元线性回归公式推导
  6. python,numpy中np.random.choice()的用法详解及其参考代码
  7. Java判断文件是否为图片
  8. argparse模块用法
  9. 1.2 文本表示——Emdedding
  10. 一文搞懂Java泛型到底是什么东东