博客
关于我
Apache-DBUtils实现mysql数据库的CRUD操作
阅读量:665 次
发布时间:2019-03-15

本文共 3404 字,大约阅读时间需要 11 分钟。

Apache-DBUtils是Apache组织提供的一个开源JDBC工具库,旨在简化数据库操作,提供标准化的数据访问接口。它支持CRUD(Create, Read, Update, Delete)操作,并通过多种Handler实现对ResultSet的处理。

QueryRunner的基本使用

QueryRunner 是DBUtils中的核心类,用于执行数据库操作。以下是通过QueryRunner实现插入操作的示例:

public void testInsert() throws Exception {    Connection conn = JDBCUtils.getConnection1();    QueryRunner runner = new QueryRunner();    String sql = "insert into customers(name,email,birth) values(?,?,?)";    runner.update(conn, sql, "古德", "gude@126.com", "1987-08-08");}

ResultSet处理器(ResultSetHandler)

DBUtils提供了多种ResultSetHandler,用于将数据库查询结果转换为Java对象或集合。以下是常见Handler的使用示例:

BeanHandler(处理单条记录)

public void testInsert1() {    Connection conn = null;    try {        conn = JDBCUtils.getConnection1();        QueryRunner runner = new QueryRunner();        String sql = "select id,name,email,birth from customers where id = ?";        BeanHandler
handle = new BeanHandler
(Customer.class); Customer cust = runner.query(conn, sql, handle, 20); System.out.println(cust); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.closeResource(conn, null); }}

BeanListHandler(处理多条记录)

public void testInsert2() {    Connection conn = null;    try {        conn = JDBCUtils.getConnection1();        QueryRunner runner = new QueryRunner();        String sql = "select id,name,email,birth from customers where id < ?";        BeanListHandler
handle = new BeanListHandler
(Customer.class); List
list = runner.query(conn, sql, handle, 20); list.forEach(System.out::println); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.closeResource(conn, null); }}

MapHandler(处理单条记录为Map)

public void testInsert3() {    Connection conn = null;    try {        conn = JDBCUtils.getConnection1();        QueryRunner runner = new QueryRunner();        String sql = "select id,name,email,birth from customers where id = ?";        MapHandler handler = new MapHandler();        Map
map = runner.query(conn, sql, handler, 20); System.out.println(map); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.closeResource(conn, null); }}

MapListHandler(处理多条记录为Map集合)

public void testInsert4() {    Connection conn = null;    try {        conn = JDBCUtils.getConnection1();        QueryRunner runner = new QueryRunner();        String sql = "select id,name,email,birth from customers where id < ?";        MapListHandler handler = new MapListHandler();        List
> list = runner.query(conn, sql, handler, 20); list.forEach(System.out::println); } catch (Exception e) { e.printStackTrace(); } finally { JDBCUtils.closeResource(conn, null); }}

ScalarHandler(处理单值查询)

DBUtils的ScalarHandler专门用于处理只返回一个标量值的查询,常用于统计查询或获取单值结果。例如:

public void testquery() {    Connection conn = null;    try {        conn = JDBCUtils.getConnection1();        QueryRunner runner = new QueryRunner();        String sql = "select count(*) from customers";        ScalarHandler handler = new ScalarHandler();        Long count = (Long) runner.query(conn, sql, handler);        System.out.println(count);    } catch (Exception e) {        e.printStackTrace();    } finally {        JDBCUtils.closeResource(conn, null);    }}

通过这些示例可以看出,Apache-DBUtils通过提供统一的API接口,显著简化了数据库操作,降低了代码冗余,提高了开发效率。

转载地址:http://kbwqz.baihongyu.com/

你可能感兴趣的文章
php微信 开发笔记,微信WebApp开发总结笔记
查看>>
php怎么将对象变成数组,php怎么将对象转换成数组
查看>>
PHP性能监控 - 怎么看xhprof报告(二)
查看>>
php操作mysql用select_php如何操作mysql获取select 结果
查看>>
PHP操作符与控制结构
查看>>
php支付宝手机网页支付类实例
查看>>
PHP数据访问的多重查询(租房子查询)
查看>>
php数组函数分析--array_column
查看>>
php数组实现:哈希 +双向链表
查看>>
PHP数组排序函数array_multisort()函数详解(二)
查看>>
php数组的几个函数和超全局变量
查看>>
PHP文件锁
查看>>
php文本框输入制定文本,php – 当用户没有向文本框输入任何内容时...
查看>>
PHP时间戳和日期相互转换操作总结
查看>>
php时间戳知识点,php 时间戳函数总结与示例
查看>>
PHP查找数组中最大值与最小值
查看>>
php查最大值,在PHP数组中查找最大值
查看>>
php标签筛选,关于PHP CodeIgniter框架中通过<a>标签和url做多条件分类筛选
查看>>
php根据年月日计算年龄
查看>>
RabbitMQ - 单机部署(超详细)
查看>>