commons-dbutils的操作方法

commons-dbutils工具介绍及实战 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 阅读详情

这张是数据库表,一共三张,每个表的ID都是自动增长列
 
 

这个是项目结构 
 

测试代码 
Java代码   收藏代码
  1. package com.jdbc.dao;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.PreparedStatement;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.util.ArrayList;  
  8. import java.util.List;  
  9.   
  10. import org.apache.commons.dbutils.BeanProcessor;  
  11. import org.apache.commons.dbutils.DbUtils;  
  12. import org.apache.commons.dbutils.QueryRunner;  
  13. import org.apache.commons.dbutils.ResultSetHandler;  
  14. import org.apache.commons.dbutils.handlers.ArrayHandler;  
  15. import org.apache.commons.dbutils.handlers.ArrayListHandler;  
  16. import org.apache.commons.dbutils.handlers.BeanHandler;  
  17. import org.apache.commons.dbutils.handlers.BeanListHandler;  
  18.   
  19. import com.jdbc.db.DBConnection;  
  20. import com.jdbc.entity.Book;  
  21. import com.jdbc.entity.School;  
  22. import com.jdbc.entity.Student;  
  23.   
  24. public class Test {  
  25.   
  26.     public static void main(String[] args) {  
  27.   
  28.         Test t = new Test();  
  29.   
  30.         // dbutils 自带的一个结果集处理类,只把查询结果的第一行封装成数组  
  31.         t.testArrayHandler();  
  32.    
  33.         // dbutils 自带的一个结果集处理类,把查询结果的每一个行都封装到数组再把数组装到集合中  
  34.         t.testArrayListHandler();  
  35.   
  36.         // dbutils 自带的一个结果集处理类,把查询结果封装在bean中  
  37.         t.testBeanHandler();  
  38.                     
  39.         // dbutils 自带的一个结果集处理类,把查询结果封装在bean中再把bean装到集合中  
  40.         t.testBeanListHandler();  
  41.                     
  42.         // 两个表查封装到一个bean中  
  43.         t.queryTwoTable();  
  44.   
  45.         // 把两个表联查的每行数据封装到bean中再装入集合  
  46.         t.queryListTwoTable();  
  47.   
  48.         // 3个表联查封装成级联bean  
  49.         t.queryListThreeTable();      
  50.       
  51.         t.insert();  
  52.         t.upload();  
  53.         t.detele();  
  54.   
  55.         // 把数据插入两张表  
  56.         t.insertTwoTable();  
  57.   
  58.     }  
  59.   
  60.     public void testArrayHandler() {  
  61.   
  62.         ResultSetHandler<Object[]> rsh = new ArrayHandler();  
  63.         QueryRunner qr = new QueryRunner(new DBConnection());  
  64.   
  65.         String sql = "select * from student, book where student.book_id = book.book_id";  
  66.         try {  
  67.             Object[] arr = qr.query(sql, rsh);  
  68.             for (int i = 0; i < arr.length; i++)  
  69.                 System.out.print(arr[i].toString() + "\t");  
  70.             System.out.println("");  
  71.         } catch (SQLException e) {  
  72.             e.printStackTrace();  
  73.         }  
  74.   
  75.     }  
  76.   
  77.     public void testArrayListHandler() {  
  78.   
  79.         ResultSetHandler<List<Object[]>> rsh = new ArrayListHandler();  
  80.         QueryRunner qr = new QueryRunner(new DBConnection());  
  81.   
  82.         String sql = "select * from student, book where student.book_id = book.book_id";  
  83.   
  84.         try {  
  85.             List<Object[]> list = qr.query(sql, rsh);  
  86.             int size = list.size();  
  87.             for (int i = 0; i < size; i++) {  
  88.                 Object[] arr = list.get(i);  
  89.                 for (int j = 0; j < arr.length; j++)  
  90.                     System.out.print(arr[j].toString() + "\t");  
  91.                 System.out.println("");  
  92.             }  
  93.             System.out.println("");  
  94.         } catch (SQLException e) {  
  95.             e.printStackTrace();  
  96.         }  
  97.   
  98.     }  
  99.   
  100.     public void testBeanHandler() {  
  101.   
  102.         ResultSetHandler<Student> rsh = new BeanHandler<Student>(Student.class);  
  103.         QueryRunner qr = new QueryRunner(new DBConnection());  
  104.   
  105.         String sql = "select * from student, book where student.book_id = book.book_id";  
  106.   
  107.         try {  
  108.             Student student = qr.query(sql, rsh);  
  109.             System.out.print(student.getStudent_id() + "\t");  
  110.             System.out.print(student.getStudent_name() + "\t");  
  111.             System.out.print(student.getStudent_age() + "\t");  
  112.             System.out.print(student.getStudent_email() + "\n");  
  113.   
  114.         } catch (SQLException e) {  
  115.             e.printStackTrace();  
  116.         }  
  117.   
  118.     }  
  119.   
  120.     public void queryTwoTable() {  
  121.   
  122.         QueryRunner qr = new QueryRunner(new DBConnection());  
  123.   
  124.         String sql = "select * from student, book where student.book_id = book.book_id";  
  125.   
  126.         try {  
  127.             Student student = qr.query(sql, new ResultSetHandler<Student>() {  
  128.   
  129.                 public Student handle(ResultSet rs) throws SQLException {  
  130.                     Student student = null;  
  131.                     if (rs.next()) {  
  132.                         BeanProcessor bp = new BeanProcessor();  
  133.                         student = bp.toBean(rs, Student.class);  
  134.                         Book book = bp.toBean(rs, Book.class);  
  135.                         student.setBook(book);  
  136.                     }  
  137.                     return student;  
  138.                 }  
  139.             });  
  140.   
  141.             System.out.print(student.getStudent_id() + "\t");  
  142.             System.out.print(student.getStudent_name() + "\t");  
  143.             System.out.print(student.getStudent_age() + "\t");  
  144.             System.out.print(student.getStudent_email() + "\t");  
  145.   
  146.             System.out.print(student.getBook().getBook_id() + "\t");  
  147.             System.out.print(student.getBook().getBook_name() + "\t");  
  148.             System.out.print(student.getBook().getBook_price() + "\n");  
  149.   
  150.         } catch (SQLException e) {  
  151.             e.printStackTrace();  
  152.         }  
  153.   
  154.     }  
  155.   
  156.     public void testBeanListHandler() {  
  157.   
  158.         ResultSetHandler<List<Student>> rsh = new BeanListHandler<Student>(Student.class);  
  159.         QueryRunner qr = new QueryRunner(new DBConnection());  
  160.   
  161.         String sql = "select * from student, book where student.book_id = book.book_id";  
  162.   
  163.         try {  
  164.             List<Student> list = qr.query(sql, rsh);  
  165.             int size = list.size();  
  166.             for (int i = 0; i < size; i++) {  
  167.                 Student student = list.get(i);  
  168.                 System.out.print(student.getStudent_id() + "\t");  
  169.                 System.out.print(student.getStudent_name() + "\t");  
  170.                 System.out.print(student.getStudent_age() + "\t");  
  171.                 System.out.print(student.getStudent_email() + "\n");  
  172.             }  
  173.         } catch (SQLException e) {  
  174.             e.printStackTrace();  
  175.         }  
  176.   
  177.     }  
  178.   
  179.     public void queryListTwoTable() {  
  180.   
  181.         QueryRunner qr = new QueryRunner(new DBConnection());  
  182.   
  183.         String sql = "select * from student, book where student.book_id = book.book_id";  
  184.   
  185.         try {  
  186.   
  187.             List<Student> list = qr.query(sql,  
  188.                     new ResultSetHandler<List<Student>>() {  
  189.   
  190.                         public List<Student> handle(ResultSet rs) throws SQLException {  
  191.                             List<Student> list = new ArrayList<Student>();  
  192.                             BeanProcessor bp = new BeanProcessor();  
  193.                             while (rs.next()) {  
  194.   
  195.                                 Student student = bp.toBean(rs, Student.class);  
  196.                                 Book book = bp.toBean(rs, Book.class);  
  197.                                 student.setBook(book);  
  198.                                 list.add(student);  
  199.                             }  
  200.                             return list;  
  201.                         }  
  202.   
  203.                     });  
  204.   
  205.             if (list != null && !list.isEmpty()) {  
  206.                 for (Student student : list) {  
  207.                     System.out.print(student.getStudent_id() + "\t");  
  208.                     System.out.print(student.getStudent_name() + "\t");  
  209.                     System.out.print(student.getStudent_age() + "\t");  
  210.                     System.out.print(student.getStudent_email() + "\t");  
  211.   
  212.                     System.out.print(student.getBook().getBook_id() + "\t");  
  213.                     System.out.print(student.getBook().getBook_name() + "\t");  
  214.                     System.out.print(student.getBook().getBook_price() + "\n");  
  215.                 }  
  216.             }  
  217.   
  218.         } catch (SQLException e) {  
  219.             e.printStackTrace();  
  220.         }  
  221.   
  222.     }  
  223.   
  224.     public void queryListThreeTable() {  
  225.   
  226.         Connection conn = null;  
  227.         QueryRunner qr = new QueryRunner();  
  228.           
  229.         List<School> schoolList = null;  
  230.         try {  
  231.   
  232.             conn = new DBConnection().getConnection();  
  233.             String sql = "select * from school";  
  234.             schoolList = qr.query(conn, sql, new BeanListHandler<School>(School.class));  
  235.   
  236.             if (schoolList != null && !schoolList.isEmpty()) {  
  237.                 for (School school : schoolList) {  
  238.                     sql = "select * from student, book where student.book_id = book.book_id and student.school_id = ?";  
  239.                     ResultSetHandler<List<Student>> rsh = new ResultSetHandler<List<Student>>() {  
  240.   
  241.                         public List<Student> handle(ResultSet rs) throws SQLException {  
  242.   
  243.                             List<Student> list = new ArrayList<Student>();  
  244.                             BeanProcessor bp = new BeanProcessor();  
  245.                             while (rs.next()) {  
  246.   
  247.                                 Student student = bp.toBean(rs, Student.class);  
  248.                                 Book book = bp.toBean(rs, Book.class);  
  249.                                 student.setBook(book);  
  250.                                 list.add(student);  
  251.                             }  
  252.                             return list;  
  253.                         }  
  254.   
  255.                     };  
  256.                     List<Student> studentList = qr.query(conn, sql, rsh, school.getSchool_id());  
  257.                     school.setStudentList(studentList);  
  258.                 }  
  259.   
  260.             }  
  261.   
  262.         } catch (SQLException e) {  
  263.             e.printStackTrace();  
  264.         } finally {  
  265.             DbUtils.closeQuietly(conn);  
  266.         }  
  267.           
  268.         if (schoolList != null && !schoolList.isEmpty()) {  
  269.             for (School school : schoolList) {  
  270.                 System.out.print(school.getSchool_id() + "\t");  
  271.                 System.out.print(school.getSchool_name() + "\t");  
  272.                 System.out.print(school.getSchool_address() + "\n");  
  273.                 for (Student student : school.getStudentList()) {  
  274.                     System.out.print("\t" + student.getStudent_id() + "\t");  
  275.                     System.out.print(student.getStudent_name() + "\t");  
  276.                     System.out.print(student.getStudent_age() + "\t");  
  277.                     System.out.print(student.getStudent_email() + "\t");  
  278.   
  279.                     System.out.print(student.getBook().getBook_id() + "\t");  
  280.                     System.out.print(student.getBook().getBook_name() + "\t");  
  281.                     System.out.print(student.getBook().getBook_price() + "\n");  
  282.                 }  
  283.             }  
  284.   
  285.         }  
  286.   
  287.     }  
  288.   
  289.     public void insert() {  
  290.   
  291.         QueryRunner qr = new QueryRunner(new DBConnection());  
  292.   
  293.         String sql = "insert into student values(?, ?, ?, ?)";  
  294.         Object[] params = new Object[] { "seven", 23, "seven123@qq.com", 1 };  
  295.   
  296.         try {  
  297.             System.out.println(qr.update(sql, params));  
  298.         } catch (SQLException e) {  
  299.             e.printStackTrace();  
  300.         }  
  301.   
  302.     }  
  303.   
  304.     public void insertTwoTable() {  
  305.   
  306.         Connection conn = null;  
  307.         PreparedStatement pst = null;  
  308.         ResultSet rs = null;  
  309.   
  310.         try {  
  311.             conn = new DBConnection().getConnection();  
  312.             QueryRunner qr = new QueryRunner();  
  313.   
  314.             conn.setAutoCommit(false);  
  315.   
  316.             String sql = "insert into book values(?, ?)";  
  317.             Object[] params = new Object[] { "C#", 99.36 };  
  318.   
  319.             pst = conn.prepareStatement(sql,  
  320.                     PreparedStatement.RETURN_GENERATED_KEYS);  
  321.             qr.fillStatement(pst, params);  
  322.             pst.execute();  
  323.             rs = pst.getGeneratedKeys();  
  324.             int book_id = rs.next() ? rs.getInt(1) : 0;  
  325.   
  326.             sql = "insert into student values(?, ?, ?, ?)";  
  327.             params = new Object[] { "seven", 23, "seven123@qq.com", book_id };  
  328.   
  329.             pst = conn.prepareStatement(sql);  
  330.             qr.fillStatement(pst, params);  
  331.             pst.execute();  
  332.   
  333.             conn.commit();  
  334.   
  335.         } catch (SQLException e) {  
  336.             try {  
  337.                 DbUtils.rollback(conn);  
  338.             } catch (SQLException e1) {  
  339.                 e1.printStackTrace();  
  340.             }  
  341.             e.printStackTrace();  
  342.         } finally {  
  343.             DbUtils.closeQuietly(conn, pst, rs);  
  344.         }  
  345.   
  346.     }  
  347.   
  348.     public void upload() {  
  349.   
  350.         QueryRunner qr = new QueryRunner(new DBConnection());  
  351.   
  352.         String sql = "update student set student_name = ? where student_id = ?";  
  353.         Object[] params = new Object[] { "seven+++", 11 };  
  354.   
  355.         try {  
  356.             System.out.println(qr.update(sql, params));  
  357.         } catch (SQLException e) {  
  358.             e.printStackTrace();  
  359.         }  
  360.   
  361.     }  
  362.   
  363.     public void detele() {  
  364.   
  365.         QueryRunner qr = new QueryRunner(new DBConnection());  
  366.   
  367.         String sql = "delete from student where student_id = ?";  
  368.         Object[] params = new Object[] { 11 };  
  369.   
  370.         try {  
  371.             System.out.println(qr.update(sql, params));  
  372.         } catch (SQLException e) {  
  373.             e.printStackTrace();  
  374.         }  
  375.   
  376.     }  
  377.   
  378. }  


这张是t.queryListThreeTable()的查询效果 
 

这张是t.queryListTwoTable()的查询效果 
 

这张是t.queryTwoTable()的查询效果 
 


最后附上示例代码 
免费教你快速学会分析运算放大器电路(保证学会) 本文旨在学习如何快速简单地对运算放大器进行分析 阅读详情

相关推荐

泛微OAe9实战:如何从零搭建一个车辆预约系统(附完整代码)

本文详细介绍了如何利用泛微OA e9的建模引擎,从零开始构建一个企业级车辆预约管理系统。文章深入解析了核心数据模型设计、前后端双重预约冲突校验机制,并重点演示了如何配置自定义资源看板以实现车辆使用状态的可视化监控。该系统设计思路通用,可扩展至会议室、设备等各类共享资源的管理。

weixin_28363123的博客 142

Day14_JDBC方式管理事务;引入commons-dbutils工具类库以及使用(笔记)

Day14_JDBC方式管理事务;引入commons-dbutils工具类库以及使用(笔记) 文章目录Day14_JDBC方式管理事务;引入commons-dbutils工具类库以及使用(笔记)1.JDBC方式管理事务1.1 什么是事务1.2 举例代码 转账2.引入commons-dbutils工具类库以及使2.1 简介2.2 操作步骤2.3 准备工作之工具类2.4 准备工作之接口(2.5-2.8都是对此接口实现重写的方法代码)2.5 使用ResultSetHandler的实现类BeanListHandl

m0_67499084的博客 684

Amesim与Simulink联合仿真:S-Function接口配置与实战避坑指南

本文详细介绍了Amesim与Simulink联合仿真中S-Function接口的配置方法与实战避坑指南。从环境搭建、编译器配置到S-Function接口实战,逐步解析关键步骤与常见问题解决方案,帮助工程师高效实现多领域系统仿真,特别适合汽车、航空航天等复杂系统建模场景。

weixin_29173777的博客 344

commons-dbutils的使用

学习commons-dbutils的使用 什么是commons-dbutils Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。 commons-dbutils的使用 首先存在简单的实体类如下: package com.xyj.entity; import lombok.AllArgs...

qq_44066201的博客 460

紫光同创PGL50H开发板实战:盘古50KH视频板的多媒体处理与高速通信方案

本文详细介绍了基于紫光同创PGL50H FPGA芯片的盘古50KH视频开发板在多媒体处理与高速通信方面的实战应用。文章从开发板硬件架构解析入手,逐步指导开发环境搭建、DDR3内存控制器配置、HDMI视频输入输出实战,并重点探讨了利用板载HSST高速收发器实现光纤通信与万兆以太网的方案。最后,通过构建一个集多路视频采集、处理与光纤传输于一体的系统案例,展示了该开发板在高性能实时数据处理领域的强大潜力。

b9c0d的博客 485

WPS接入DeepSeek,实现AI辅助功能

总的来说,借助 WPS 中宏功能与 DeepSeek 大模型的结合,文档处理、内容创作和数据分析等任务都能更加智能化、自动化。这不仅大幅提升了工作效率,也为办公场景带来了全新的智能化办公体验。

运维老生常谈 3804

commons-dbutils数据库工具包的基本使用

目录 一、简介: 二、主要类与相关接口介绍 DbUtils类 QueryRunner类 ResultSetHandler接口 三、测试示例: 一、简介: commons-dbutils是Apache开源组织提供的用于操作数据库的工具包。对于数据库的操作无外乎就是【增删改查】,本质上只是SQL语法的不同。 一个普通的查询操作其处理过程如下: 创建Connection连接。 创建...

淋雨一直走啊 2982

JetLinks社区版VS企业版:手把手教你用PostgreSQL+Redis搭建物联网中台(Win7实测)

本文详细对比了JetLinks社区版与企业版的核心差异,并提供了在Windows 7系统上,使用PostgreSQL和Redis搭建物联网中台的完整部署教程。文章深入解析了从环境准备、后端服务构建到前端部署的每一步,为开发者在资源有限环境下构建高性价比物联网平台提供了清晰的实战指南。

w1x2y3的博客 305

Apache Commons DBUtils指南

Apache Commons DbUtils库是一组非常小的类,旨在使JDBC调用处理更容易而不会泄漏资源,并具有更干净的代码。由于 JDBC 资源清理非常繁琐且容易出错,因此 DBUtils 类有助于抽象出样板代码,以便开发人员只能专注于与数据库相关的操作。 DBUtils的优势 使用Apache Commons DBUtils的优势解释如下: 无资源泄漏− DBUtils 类确保不会发生资源泄漏。 Clean & Clear code- DBUtils类提供干净明了的...

allway2的博客 3280

大模型之Spring AI实战系列(一):基础认知篇 - 开启智能应用开发之旅

Spring AI 是一个轻量级开源框架,旨在简化 AI 模型在企业级 Java 应用中的集成与管理。它提供了跨多个 AI 服务提供商的便携式 API,支持聊天、文本转图像、嵌入式模型等多种功能,并兼容主流的 AI 模型提供商如 OpenAI、Google 等。Spring AI 的核心功能包括结构化输出、向量数据库支持、工具/函数调用、可观察性、文档摄取 ETL 框架、AI 模型评估等。

寻道AI,探索AI无限可能! 6364

innovus:InstPad、CellPad 、module padding、clock cell halo

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?site_num指的是padding的大小以site宽度为单位。

m0_61544122的博客 2023

java: 程序包org.apache.commons.dbutils不存在

前言 今天在写jsp项目的时候使用了commons-dbutils-1.7.jar这个包,导入的时候一直说我包不存在,但是在External Libraries里是显示已经成功导入了的 在Models里也显示成功导入了 解决办法:在Project Structure 里边的Artifacts里的Output Layout里边的WEB-INF下的lib文件夹里再导一遍这个jar包 ps:用的Idea是2021.1版本 ...

weixin_45852687的博客 1万+

基于Matlab的无迹卡尔曼滤波惯性导航与DVL组合导航

航天航空领域中的惯性导航是一种基于惯性测量单元(Inertial Measurement Unit,IMU)的导航方法,可以提供航向、速度和位置等信息。深度/速度测量器(Doppler Velocity Log,DVL)是一种常用的传感器,可用于测量水下航行器的速度。通过将DVL与无迹卡尔曼滤波相结合,可以实现高精度的组合导航。本文介绍了基于Matlab的无迹卡尔曼滤波(UKF)惯性导航与DVL组合导航的方法。以上是一种简化的示例代码,您可以根据实际应用需求进行相应的修改和优化。

DevSavantX的博客 418

Java DbUtils实用

DbUtils

Tony 小哥的博客 686

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Jakarta项目的commons包简介

转自: http://www.blogjava.net/renyangok/articles/74008.html   commons分为3部分Commons Proper、Commons Sandbox和Commons DormantCommons Proper:提供了设计良好可重用的java组件,并都经过了广泛、严格的测试。Commons Sandbox:处于实验、测试阶段的组件。C...

wq1030的专栏 567

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Apache Commons DbUtils

引导思考:回忆原生 JDBC 写增删改查的流程 ——要创建连接、PreparedStatement、处理结果集,还要在 finally 中层层关闭资源,容易出现什么问题?核心解答:原生 JDBC 痛点:① 资源关闭代码冗余(try-catch 嵌套);② 结果集遍历繁琐(手动映射到 JavaBean/Map);③ 事务控制与连接管理耦合;④ 容易因空值 / 异常导致资源泄漏。封装关闭逻辑,自动判空 + 屏蔽关闭异常,一行替代多层 try-catch;执行层面。

King_model的博客 1089

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【重点】commons-dbutils

DBUtils 简介 DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以减少60%以上的代码。 DBUtils三个核心功能介绍 QueryRunner:r核心类提供对sql语句操作的API QueryRunner(DataSourcr ds):提供数据源(连接池),DbUtils底层自动维护连接connection ...

哈 3055

dbutilsjar包下载_commons dbutils 下载|

Apache Commons DbUtils 1.6.jar是开源JDBC数据库工具包,本工具包能够简化JDBC的部分重复代码,减轻工作量。commons dbutils 包含有两个大类,一个是简化,一个是实现,有需要的就来IT猫扑下载吧!Commonsdbutils是什么commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可...

weixin_33410914的博客 3901

Commons-dbutils框架

文章目录1. Commons-dbutils简介2.QueryRunner类使用讲解2.1.QueryRunner类的主要方法2.2.使用QueryRunner类实现CRUD2.2.1.JdbcUtils2.2.2.RunnerCRUDTest3.DButis整合Druid数据库连接池4.改造QueryRunnerCRUDTest5.ResultSetHandler接口使用讲解5.1.ResultSetHandler接口的实现类5.2.测试dbutils各种类型的处理器5.5.事务处理5.6.自定义处理程序

专业的计算机毕业设计指南 2159

Apache Commons DbuTils 详解

ResultSetHandler接口实现类、连接池、数据源、DataSource、QueryRunner类、查询的一般过程与query方法

qq_46926869的博客 1808

apache commons DbUtils学习

一、关于DbUtils     commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List,Map等。(1)org.apache.commons.dbutils DbUtils  : 提供如关闭连接、装载 JDBC 驱动程序等常规工作的工具类 QueryRunner : 该类简单化了 SQL 查询,它与

libinsoft的专栏 3510

在Maven项目中使用apache的commons-dbutils

首先加入连依赖: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;commons-dbutils&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;commons-dbutils&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;1.6&amp;lt

WY001的博客 1万+

Apache Commons DbUtils 常见问题解决方案

Apache Commons DbUtils 常见问题解决方案 项目基础介绍 Apache Commons DbUtils 是一个用于简化 JDBC 开发的 Java 实用工具类库。它旨在提供一组工具类,帮助开发者更高效地处理数据库操作,减少样板代码的编写。该项目的主要编程语言是 Java。 新手使用注意事项及解决方案 1. 数据库连接配置问题 问题描述:新手在使用 DbUtils 时,可能会遇到...

gitblog_00275的博客 1088

commons-dbutils包的使用

commons-dbutils包的使用 1.commons-dbutils包是啥: commons-dbutils包是Apache开源组织提供的用于操作数据库的工具包。简单来讲,这个工具包就是用来更加方便我们操作数据库的,最近工作中使用了一下,感觉确实方便很多,基本告别自己封装JDBC代码对数据库进行增删改查了。代码看着也很简洁。 使用这个包,看懂方法的使用,就行吧,我先记录一下使用的方

yushen 3266

Apache Commons DbUtils 使用教程

Apache Commons DbUtils 使用教程 项目介绍 Apache Commons DbUtils 是一个小巧的 JDBC 工具库,旨在简化 JDBC 调用处理,避免资源泄漏,并提供更简洁的代码。该库主要由一组类组成,帮助开发人员专注于数据库操作,而无需担心资源清理和泄漏问题。 项目快速启动 引入依赖 首先,在 Maven 项目中引入 DbUtils 和 MySQL 连接器的依赖: &...

gitblog_00723的博客 1140

Apache Commons DbUtils 教程

Apache Commons DbUtils 教程 1. 项目目录结构及介绍 Apache Commons DbUtils 的 Git 仓库目录通常包括以下部分: . ├── src # 主要源码目录 │ └── main # 主要的源代码和资源文件 │ ├── java # Java 源代码 │ └── resources ...

gitblog_00568的博客 615
上一篇: jsp中的绝对与相对路径
下一篇: jar包和claess文件加载顺序
javaerSir
博客等级 码龄15年 1粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值