QueryRunner使用
QueryRunner 使用 QueryRunner 是 Apache Commons DbUtils 的一个组件,旨在简化 JDBC 操作,帮助开发者更高效地学习工作,避免繁重的 JDBC 代码。DbUtils 组件提供了两个类和一个接口,分别是 DbUtils、QueryRunner 和 ResultSetHandler。 DbUtils 类负责装载驱动、关闭连接的常规工作。它提供了四个主要方法:close、CloseQuietly、CommitAndCloseQuietly 和 LoadDriver。close 方法检查所提供的参数是否为 NULL,如果不是,则关闭连接、声明和结果集。CloseQuietly 方法避免连接、声明或结果集为 NULL 的情况被关闭。CommitAndCloseQuietly 方法用来提交连接,然后关闭连接,并且在关闭连接时不向上抛出 SQL 异常。LoadDriver 方法装载并注册 JDBC 驱动程序,如果成功就返回 TRUE。 QueryRunner 类简化了 SQL 查询,并与 ResultSetHandler 协同工作,使编码量大为减少。它提供了三个主要方法:query、update 和 batch。query 方法执行选择查询,在查询中,对象阵列的值被用来作为查询的置换参数。update 方法被用来执行插入、更新或删除(DML)操作。batch 方法执行批处理操作。 ResultSetHandler 接口执行处理一个结果集对象,将数据转变并处理为任何一种形式,供其他应用使用。它提供了八种不同的处理器,分别是 ArrayHandler、ArrayListHandler、BeanHandler、BeanListHandler、MapHandler、MapListHandler、ScalarHandler 和 ColumnListHandler。这些处理器可以将结果集转换为不同的数据形式,如数组、列表、Bean 对象、映射等。 在实际应用中,我们可以使用 QueryRunner 和 ResultSetHandler 来简化 JDBC 操作,提高开发效率。例如,我们可以使用 QueryRunner 的 query 方法执行选择查询,然后使用 ResultSetHandler 的 handle 方法将结果集转换为需要的数据形式。 示例代码: ```java import java.sql.Connection; import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; public class TestQueryRunner { public static void main(String[] args) throws SQLException { //queryOracle(); update(); } private static void update() throws SQLException{ QueryRunner runner = new QueryRunner(); Connection conn = DBManager.getConnection(); String sql = "UPDATE examstudent SET student_name = ? WHERE flow_id = ?"; Object [] params = new Object[]{"Jerry", 5000}; runner.update(conn, sql, params); } } ``` 在上面的示例代码中,我们使用 QueryRunner 的 update 方法执行一个更新操作,更新 examstudent 表中的 student_name 字段。我们还可以使用 QueryRunner 的 query 方法执行选择查询,并使用 ResultSetHandler 的 handle 方法将结果集转换为需要的数据形式。 QueryRunner 是一个非常有用的组件,可以帮助我们简化 JDBC 操作,提高开发效率。

































- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 科技服务机构如何借助AI+数智应用突破内卷,实现产品服务差异化?.docx
- 科技服务机构如何利用AI+数智应用工具优化服务流程,提升客户体验?.docx
- 科技服务机构如何利用AI+数智应用工具优化服务流程?.docx
- 科技服务机构如何利用AI+数智应用实现业务转型与增长?.docx
- 科技服务机构如何通过AI+数智应用服务留住客户并拓展业务?.docx
- python入门教程学习.md
- 科技服务机构如何通过AI+数智应用工具拓展客户群体?.docx
- 科技服务机构如何通过AI+数智应用技术创新服务挖掘客户潜在需求?.docx
- 科技服务机构如何通过AI+数智应用工具提升服务效率?.docx
- 科技服务机构如何通过AI+数智应用品牌升级拓展客户群体?.docx
- 科技服务机构如何通过AI+数智应用数据挖掘长期绑定客户?.docx
- 科技服务机构如何通过AI+数智应用提升服务差异化竞争力?.docx
- 科技服务机构如何在市场饱和下借助AI+数智应用提升差异化竞争力?.docx
- 科技服务机构如何在市场竞争中借助AI+数智应用脱颖而出?.docx
- 科技服务机构如何在激烈的市场竞争中通过AI+数智应用提升差异化竞争力?.docx
- 科技服务机构在AI+时代如何提升产品差异化竞争力?.docx


