Apache-DBUtils实现CRUD操作


每博一文案

有人说,不要轻易去伤害任何一个人,因为你会因此而受伤。欠的债,躲不掉,总是要还的。
要知道,哪些能被你欺骗的人,都是无条件相信你的人,因为心里有你,所以才会对你
一次又一次的迁就,因为不想让你受委屈,才愿意一直让你吗,你要珍惜每个对你好的人,
因为他本可以不这样做。人与人之间的感情就像一面镜子,一旦打破就,再难圆满了,
不要把别人对你的好心,当成理所当然,人心都是肉做的,受了冷落,都会疼。
不管一个人对你多好,一旦遭受欺骗,心会痛,也会寒心。
作家七堇年曾说:“这个世界上,真心对你好的人,遇到一个便少一个”。人海茫茫,我们遇到一个真心对我们
好的人,是一种幸运,没有谁的付出,是平白无故,没有谁会一直卑微地付出。
你懂得珍惜我,对你的好,我才会原意对你好。没有谁离不开谁,有的只是谁不珍惜谁,唯有
真心相待,关系才能长久,心一旦凉透了,就在也捂不热了。
人一旦弄丢了,就再也找不回了。辜负了别人是要还债的,辜负了自己是要遗憾终身的。
认识一个人不在于时间的长短,而在于彼此懂得和珍惜,人潮拥挤,相遇不易,
且行且珍惜,一个人时,专注自己,好好生活,有人爱时,有能力拥抱彼此,
愿你余生付出真心都有人珍惜,也不辜负每一个人信任的人。——————   一禅心灵庙语

文章目录

  • Apache-DBUtils实现CRUD操作
    • 每博一文案
    • 1. Apache-DBUtils 的介绍
    • 2. QueryRunner类
      • 1. insert (插入)
      • 2. update(更新/修改)
      • 3. delete(删除)
    • 3. ResultSetHandler接口及实现类
      • 1. ArrayHandler
      • 2. ArrayListHandler
      • 3. BeanHandler
      • 4. BeanListHandler
      • 5. MapHandler
      • 6. MapListHandler
      • 7. ColumnListHandler
      • 8. ScalarHandler
    • 4. DbUtils
    • 5. 结合使用 Druid(德鲁伊)数据库连接池 以及 Apache-DBUtils 进行一个 DAO 封装实例演示
      • Actor javaBean
      • BasicDAO<T\>
      • ActorDAO
      • Actorlmp
      • ActorlmpTest
    • 6. 总结:
    • 7. 最后:

1. Apache-DBUtils 的介绍

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

API介绍:

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指 API的说明文档,也称为帮助文档。

相关的API 文件的说明:

  • org-apache.commons.dbutils.QueryRunner
  • org.apache.commons.dbutils.ResultSetHandler
  • 工具类:org.apache.commons.dbutils.DbUtils

使用其中的 DBUtils 我们需要相关的 commons-dbutils-1.3.jar 包,

jar 文件我们已经托管到了 ,Github ,Gitee 当中了,如有需要,大家可以自行下载

  • Mysql数据库驱动/数据库连接池驱动 · 彩虹海/软件和配置 - 码云 - 开源中国 (gitee.com)
  • software-and-configuration/Mysql数据库驱动/数据库连接池驱动 at master · China-Rainbow-sea/software-and-configuration (github.com)

2. QueryRunner类

DbUtils 工具类当中,存在这么一个 QueryRunner 类,该类简单化了SQL查询,它与 ResultSetHandler 组合在一起使用可以完成大部分数据库操作,能够大大减少编码量。

QueryRunner 提供了两个构造器:

  1. 默认的构造器
  2. 需要一个 javax.sql.DataSource接口来作为 参数 的构造器

QueryRunner类的主要方法如下:

  • 更新:
public int update(Connection conn, String sql, Object... params) throws SQLException:用来执行一个更新(插入、更新或删除)操作。返回影响数据库的行数
  • 插入:
public <T> T insert(Connection conn,String sql,ResultSetHandler<T> rsh, Object... params) throws SQLException:只支持INSERT语句,其中 rsh - The handler used to create the result object from the ResultSet of auto-generated keys.  返回值: An object generated by the handler.即自动生成的键值
  • 批处理:
public int[] batch(Connection conn,String sql,Object[][] params)throws SQLException: INSERT, UPDATE, or DELETE语句,
public <T> T insertBatch(Connection conn,String sql,ResultSetHandler<T> rsh,Object[][] params)throws SQLException:只支持INSERT语句
  • 查询:
public Object query(Connection conn, String sql, ResultSetHandler rsh,Object... params) throws SQLException:执行一个查询操作,在这个查询中,对象数组中的每个元素值被用来作为查询语句的置换参数。该方法会自行处理 PreparedStatement 和 ResultSet 的创建和关闭。

具体其他更多的方法,大家可以查看我们 下载的 DbUtils 的帮助文档index.html ,在( commons-dbutils-1.3\apidocs )该路径下可以找到:


Commons-dbutils 中的 QueryRunner 类封装了针对于数据库的 增,删,改 DDL 操作。

这里我们连接数据库,使用 Druid 的数据库连接池,其中具体的详细内容,大家可以移步到

Apache-DBUtils实现CRUD操作相关推荐

  1. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表 - 解无邪

    本文目录: 1.自定义JDBC框架 --数据库元数据:DataBaseMetaData 2.自定义JDBC框架 --数据库元数据:DataBaseMetaData 3.自定义JDBC框架 --结果集元 ...

  2. MyBatis用接口的方式实现CRUD操作

    MyBatis用接口实现CRUD操作 创建好java项目的基本架构,创建好对应的包 导入相应的jar包, 创建mysql数据库: 在src目录下创建db.properties和mybatis-conf ...

  3. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...

  4. java中利用框架传入相同的url实现crud操作_还在手写CRUD代码?这款开源框架助你解放双手!

    相信很多朋友在项目中使用的ORM框架都是MyBatis,如果单用MyBatis来操作数据库的话,需要手写很多单表查询的SQL实现.这时候我们往往会选择一个增强工具来实现这些单表CRUD操作,这里推荐一 ...

  5. mybatis mysql crud_Mybatis实现CRUD操作

    Mybatis实现CRUD操作 导入相关依赖 创建实体类User 创建Mybatis主配置文件:SqlMapConfig.xml 创建IUserDao接口. 创建于接口对应的映射配置文件:IUserD ...

  6. 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作

    转载自  实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时 ...

  7. mybatis crud_MyBatis教程– CRUD操作和映射关系–第1部分

    mybatis crud CRUD操作 MyBatis是一个SQL Mapper工具,与直接使用JDBC相比,它极大地简化了数据库编程. 步骤1:创建一个Maven项目并配置MyBatis依赖项. & ...

  8. MyBatis教程– CRUD操作和映射关系–第1部分

    CRUD操作 MyBatis是一个SQL Mapper工具,与直接使用JDBC相比,它极大地简化了数据库编程. 步骤1:创建一个Maven项目并配置MyBatis依赖项. <project xm ...

  9. MyBatis学习存档(4)——进行CRUD操作

    使用MyBatis进行数据库的CRUD操作有2种方式:一种如之前所说的接口+xml,而另一种是通过对接口上的方法加注解(@Select @Insert @Delete @Update) 但是通常情况下 ...

  10. java中利用框架传入相同的url实现crud操作_Java SSM框架基础面试题

    1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心: 1.IOC/DI(控制反转/依赖注入) :把dao依赖注入到 ...

最新文章

  1. K-均值聚类(K-Means) C++代码实现
  2. 架构周报| 浅析MySQL JDBC连接配置上的两个误区
  3. 主要几种通信协议的性能比较(转载)
  4. 【Python】count()方法:统计字符串出现的次数
  5. Android之项目中如何用好构建神器Gradle?
  6. CCF202012-1 期末预测之安全指数
  7. C++中指针和引用的区别与联系
  8. 印度为何能频频诞生顶尖的程序员?
  9. Atitit 学历的类型大总结 目录 1. 学历的分类 2 1.1. 按照组织性质,分类为立法系统 政府系统 司法系统 部落级别 企业级别商业系统 宗教系统 个人级别 2 1.2. 按照地域性质,
  10. 何万青:7月24日阿里云上海峰会超算大神
  11. 淘宝双十一喵果总动员之喵树大挑战玩法攻略
  12. 标签打印软件制作标签时如何导入品牌logo
  13. 如何搜集你想要的信息
  14. 如何让一个IFRAME调用页面的背景为透明
  15. 剑指offer-day3
  16. 北京上海地图数据兴趣点poi下载
  17. 聚类算法之K-means
  18. 【小程序源码】手持滚动弹幕生成小工具多样化模板
  19. 如何在Cisco ASA上查看和清除会话?
  20. ntp如何确认与服务器偏差_NTP时间同步服务器(NTP服务器)原理详解

热门文章

  1. L5 Limits and Continuity
  2. CuPy is not correctly installed
  3. RSA之共模攻击与共享素数
  4. python理财基金数据分析可视化系统
  5. 人大金仓安装教程(windows)
  6. 我和大表哥可是有约在先的如果我输的话
  7. teeth mirror牙小护牙膏让你唇红齿白,亮白笑容不是梦
  8. java马里奥_java马里奥毕业设计
  9. 计算机家庭组改工作组,win7系统如何更改工作组
  10. 逸仙电商将携Galenic法国科兰黎、EVE LOM参展进博会 | 进博会倒计时