千家信息网

DBUtils介绍

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、DBUtils介绍 apache什么是DBUtils,它的作用DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代
千家信息网最后更新 2026年11月02日DBUtils介绍

  一、DBUtils介绍 apache

  什么是DBUtils,它的作用

  DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。

  DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。

  1.对于数据表的读操作,他可以把结果转换成List,Array,Set等Java集合,便于程序员操作

  2.对于数据表的写操作,也变得很简单(只需写sql语句)

  3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能-重用已经构建好的数据库连接对象

  二、DBUtils的三个核心对象

  QueryRunner类

  ResultSetHandler接口

  DBUtils类

  QueryRunner类

  QueryRunner中提供对sql语句操作的API

  它主要有三个方法

  query() //用于执行select

  update() //用于执行insert update delete

  batch() //批处理

  ResultSetHandler接口

  用于定义select操作后,怎样封装结果集

  DBUtils类

  它就是一个工具类,定义了关闭资源与事务处理的方法

  三、Dbutils快速入门

  导入jar包

  创建QueryRunner对象

  使用query方法执行select语句

  使用ResultSetHandler封装结果集

  使用DBUtils类释放资源

  DBUtils快速入门实现步骤:

  导入jar包

  注意: c3p0与mysql驱动jar也要导入。

  创建QueryRunner对象

  使用query方法执行select语句

  使用ResultSetHandler封装结果集

  使用DBUtils类释放资源

  四、QueryRunner对象

  构造函数:无锡人流多少钱 http://www.xaytsgyy.com/

  new QueryRunner():它的事务可以手动控制

  也就是说此对象调用的方法(如:query、update、batrch)参数中要有Connection对象

  new QueryRunner(DataSource ds):它的事务是自动控制的 一个sql一个事务

  此对象调用的方法(如:query、update、batrch)参数中无需Connection对象

  进行基本的CRUD操作:练一下

  public class TestQueryRunner{

  @Test

  public void testInsert() throws SQLException{

  QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());

  qr.update("insert into student(NAME, birthday) values(?,?)", "bbb", new Date());

  }

  @Test

  public void testUpdate() throws SQLException{

  QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());

  qr.update("update student set name=?, birthday=? where id=?", "ccc", new Date(), 1);

  }

  @Test

  public void testDelete() throws SQLException{

  QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());

  qr.update("delete from student where id=?", 1);

  }

  @Test

  public void testBatch() throws SQLException{

  QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());

  Object[][] params = new Object[10][]; //高维表示要执行多少条sql语句

  for(int i = 0; i < params.length; i++){

  params[i] = new Object[]{"菜10"+i, "123", "c10@163.com", new Date()};

  }

  qr.batch("insert into user(username, password, email, birthday) values(?,?,?,?)", params);

  }

  }

  五、ResultSetHandler接口

  ResultSetHandler下的所有结果处理器

  ArrayHandler:适合取1条记录。把该条记录的每列值封装到一个数组中Object[]

  ArrayListHandler:适合取多条记录。把每条记录的每列值封装到一个数组中Object[],把数组封装到一个List中

  ColumnListHandler:取某一列的数据。封装到List中

  KeyedHandler:取多条记录,每一条记录封装到一个Map中,再把这个Map封装到另外一个Map中,key为指定的字段值

  MapHandler:适合取1条记录。把当前记录的列名和列值放到一个Map中

  MapListHandler:适合取多条记录。把每条记录封装到一个Map中,再把Map封装到List中

  ScalarHandler:适合取单行单列数据

  BeanHandler

  BeanListHandler


封装 对象 数据 方法 结果 语句 事务 多条 接口 数据库 数组 资源 实用 三个 参数 工具 数据表 处理 控制 小巧 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 博彦科技互联网金融 中关村互联网 科技集团 互联网科技公司华为 互联网最新的科技有限公司 上海互联网科技有限公司 小马过河互联网科技 互联网科技上市公司 重庆科技学院互联网 科技赋能互联网健康 农村开互联网科技讲堂 广州恒生互联网科技有限 重庆互联网医院沙龙医盟信息科技 新兴科技互联网创新大赛颁奖典礼 中国互联网十大科技股排名 为客找房互联网科技公司怎么样 雨阳互联网卡科技有限公司 抖集互联网科技技术咨询 互联网科技职业技能培训学校 互联网科技创业计划的风险分析 朗新科技与工业互联网 上海喔噻互联网科技 互联网科技缩写 随着互联网科技发展 健康食品互联网创新科技园项目 中国科技创新与世界互联网大会 威龙国际互联网科技公司 银行科技岗属于互联网吗 优雇互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司
0