DBUtil简介

​ DBUtil,通过名字就能够知道是一个数据库的操作工具,是一个简化JDBC操作的类库,当然大家一定要清楚了解:JDBC才是Java连接数据库的标准,因为不管是DBUtil工具还是未来我们要使用数据库连接池,EJB,Hibernate,MyBatis,SpringJDBCTemplate,SpringData,JAP等数据库操作框架都是在JDBC的基础上封装而来,目的就是简化数据库的操作。

DBUtil主要的操作类

​ DBUtil类库中存在大量的接口和操作类,但是我们只要使用DBUtil类和QueryRunner类,另外就是ResultSetHandler接口。

  • DBUtil:做一些数据库关闭连接,装载JDBC启动之类的常规的工作,里面的方法都是静态的,我们可以通过类名直接访问

  • close():关闭数据库连接,这个方法重载了三次,分别用于关闭数据库连接,关闭数据库操作对象,关闭数据库查询结果集

  • closeQuietly():这个方法也重载了多次,而且有一个重载方法可以关闭数据库连接,同时关闭数据库操作对象,同时关闭查询结果集

  • commitAndClose():提交并关闭数据库连接

  • commitAndCloseQuietly():提交并且关闭数据库连接、关闭数据库操作对象,关闭查询结果集

  • loadDriver():用来装载JDBC驱动程序,加载成功,返回true

QueryRunner:可以简化sql的执行,完成增删改的操作,结合ResultSetHandler一起使用的话,可以进行查询

ResultSetHandler:这个接口是处理ResultSet的,可以将查询结果集处理,如果使用实现类BeanListHander,能够将查询结果集转换成实体类的对象的集合。

示例代码

public static void testDelete() {​       Connection conn = null;​       try {​          conn = DBConnection.getMySQLConnection();//取得数据库连接​            String sql = "delete from acc_info where acc_id = ? and acc_login_name = ?";​          QueryRunner queryRunner = new QueryRunner();//创建QueryRunner对象​         Object params[] = {6,"cc"};​         queryRunner.update(conn,sql,params);//执行删除​         DbUtils.commitAndCloseQuietly(conn);​       } catch (Exception e) {​            // TODO: handle exception​      }​  }

以上是在main方法中写的一个用DBUtil执行删除操作的静态方法

public static void testSelect() {​       Connection conn = null;​       try {​          conn = DBConnection.getMySQLConnection();//取得数据库连接​            String sql = "select acc_id as accId,acc_login_name as accLoginName,acc_login_pass as accLoginPass,acc_real_name as accRealName,acc_balance as accBalance from acc_info where acc_login_name like ?";​           QueryRunner queryRunner = new QueryRunner();//创建QueryRunner对象​         List<AccInfo> accInfos = (List<AccInfo>) queryRunner.query(conn, sql, new BeanListHandler(AccInfo.class), "%%"); //查询到的结果封装为对象集合​            System.out.println(accInfos);​          DbUtils.commitAndCloseQuietly(conn);​       } catch (Exception e) {​            e.printStackTrace();​       }   ​   }

小结

​ DBUtil使用简便,使用DBUtil前,需要导入相应的jar包。

​ 熟悉DBUtil的操作数据库的方法,以及所需的参数,参数类型,返回值等。

DBUtil-一款简单好用的数据库操作工具相关推荐

  1. PDManer[元数建模]-v4.1.0发布:一款简单好用的数据库建模平台

    [PDManer元数建模-v4],历时四年,持续升级,工匠精神,做一款简单好用的数据库建模平台. 元数建模平台,使用React+Electron+Java技术体系构建. [PDMan-v2] --&g ...

  2. PDManer[元数建模]-v4.0.0发布:一款简单好用的数据库建模平台

    [PDManer元数建模-4.0],历时四年,持续升级,工匠精神,做一款简单好用的数据库建模平台. 元数建模平台,使用React+Electron+Java技术体系构建. [PDMan-v2] --& ...

  3. 一款低延迟的分布式数据库同步系统--databus

    每次看到马路对面摩托罗拉的大牌子,都想起谷歌125亿美元收购摩托罗拉移动,后来又以29亿美元卖给联想的事情.谷歌所做的决策都比较考虑长远利益,在这串交易中,谷歌获得了摩托罗拉最有价值的几千项专利,稳健 ...

  4. 数据恢复软件28款简单测试绿色下载

    2006-8-30 9:34:31 数据恢复软件28款简单测试&绿色下载 http://www.linwan.com/archives/2179.html ps:这应该是"雨浪飘零& ...

  5. 盘点2013:21款最优秀的开源数据库

    作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库打交道,比如MS SQL服务器.MySQL.Oracle.PostgreSQL.MongoDB等等.众所周知,其中MySQL是目前使用最 ...

  6. 基于flask+vue前后端分离 一款简单的旅游网站源码,带admin管理系统

    介绍 毕业设计-flask-vue前后端分离 一款简单的旅游网站,带admin管理系统 软件架构 软件架构说明 使用Python-flask 轻量级框架编写后端程序,前端采用Vue编写,后端接口都在蓝 ...

  7. java mysql 工具类_Java SE 之 数据库操作工具类(DBUtil)设计

    JDBC创建数据库基本连接 //1.加载驱动程序 Class.forName(driveName); //2.获得数据库连接 Connection connection = DriverManager ...

  8. (强烈推荐)免费ERP-2BizBox为全球制造业企业提供的一款简单易用、功能齐全的ERP软件

    (强烈推荐)免费ERP-2BizBox为全球制造业企业提供的一款简单易用.功能齐全的ERP软件 2BizBox是为全球制造业企业提供的一款简单易用.功能齐全的ERP软件. 功能完善 2BizBox是针 ...

  9. 21款最优秀的开源数据库

    摘要:几乎所有软件项目的开发都需要数据库的支持,目前,随着开源技术的迅速发展,越来越多的数据供应商选择开源数据库,为开源事业添砖加瓦. 作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库 ...

  10. 动手写一款简单的chrome天气插件

    极简天气 一款简单的chrome天气插件. github https://github.com/yohnz/weather 如图: 创建文件 新建weather文件夹,里面包含manifest.jso ...

最新文章

  1. 百万数据修改索引,百万数据修改主键
  2. Uva 10074【递推dp】
  3. C语言关键字 - 铁布衫:const
  4. 有哪些非关系型数据库
  5. centos snmp配置_Cacti1.2.16最新版安装和配置(Shell一键安装)
  6. spring学习(38):注入set类型
  7. Flume OOM 处理
  8. jquery-weui滚动加载问题解决
  9. 原生体验挡不住!JavaScript开源跨平台框架NativeScript
  10. ojdbc maven
  11. 微星主板B550M破击炮无U刷BIOS 内存条插3/4卡槽出现DRAM灯常亮,屏幕无法显示
  12. android -------- ConstraintLayout 宽高比和偏移量比(三)
  13. Apache CarbonData学习资料汇总
  14. 传感器中的NC引脚和DNC引脚的区别
  15. URP——后期处理特效——通道混合器Channel Mixer
  16. 中国互联网出海战略大盘点
  17. 什么是SSH 以及常见的ssh 功能
  18. 【小程序】微信小程序如何获取用户微信openID?(已解决,完整代码实例)
  19. 多通道LMMSE图像超分辨复原方法研究-附Matlab代码
  20. 第三届“中科实数杯”团队赛wp

热门文章

  1. 2022年计算机软件水平考试数据库系统工程师(中级)练习题及答案
  2. 金蝶KIS专业版二次开发探索
  3. php ajax 上传视频教程,PHP+Ajax从入门到精通全套视频教程 传智播客Ajax实战教程 共15课...
  4. 数据库原理及应用(思维导图、索引、合集)
  5. linux之替换开机logo
  6. pythonqt5教程从零开始_pyQt5 QtDesigner 简易入门教程
  7. matlab 计算工时,C# + Matlab 实现计件工时拟合
  8. 毕设:基于Spring Boot的旅游攻略网的设计与实现
  9. Latex学习笔记 (8) 字体样式之衬线字体与无衬线体字体
  10. 淘淘商城系列——VMware添加已配置好的虚拟机