开源框架——DBUtils

来源:互联网 发布:linux deploy下载 编辑:程序博客网 时间:2024/06/08 10:34

DBUtils 框架
1、概述:
DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。
Dbutils三个核心功能介绍
 QueryRunner中提供对sql语句操作的API.
 ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
 DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法

2、QueryRunner 核心类:
 QueryRunner(DataSource ds) ,提供数据源(连接池),DBUtils底层自动维护连接connection
 update(String sql, Object… params) ,执行更新数据 insert update delete
 query(String sql, ResultSetHandler rsh, Object… params) ,执行查询 select

3、ResultSetHandler结果集处理类
ArrayHandler 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
ArrayListHandler 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
BeanHandler 将结果集中第一条记录封装到一个指定的javaBean中。
BeanListHandler 将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
ColumnListHandler 将结果集中指定的列的字段值,封装到一个List集合中
KeyedHandler 将结果集中每一条记录封装到Map

//更新update:@Testpublic void testUpdate() throws Exception{    try {        //1 核心类        QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource());        //2 sql        String sql = "update category set cname=? where cid = ?";        //3 参数        Object[] params = {"家电","c006"};        //4执行        queryRunner.update(sql, params);    } catch (Exception e) {        throw new RuntimeException(e);    }   }//查询单一字段 Query:@Testpublic void testFindById() throws Exception{    try {        //1 核心类        QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource());        //2 sql        String sql = "select * from category where cid=?";        //3 参数        Object[] params = {"c003"};        //4执行        Category category = queryRunner.query(sql, new BeanHandler<Category>(Category.class), params);        System.out.println(category);    } catch (Exception e) {        throw new RuntimeException(e);    } }//查询所有:@Testpublic void testFindAll() throws Exception{    try {        //1 核心类        QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource());        //2 sql        String sql = "select * from category";        //3 参数        Object[] params = {};        //4执行        List<Category> allCategory = queryRunner.query(sql, new BeanListHandler<Category>(Category.class), params);        for (Category category : allCategory) {            System.out.println(category);        }    } catch (Exception e) {        throw new RuntimeException(e);    } }// 查询总记录数:@Testpublic void testCount() throws Exception{    try {        //1 核心类        QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource());        //2 sql        String sql = "select count(*) from category";        //3 参数        Object[] params = {};        //4执行        Long numLong = (Long) queryRunner.query(sql, new ScalarHandler(), params);        int num = numLong.intValue();        System.out.println(num);    } catch (Exception e) {        throw new RuntimeException(e);    } }

DBUtils框架使用总结:、

  1. 加载JDBC驱动程序类,并用DriverManager来得到一个数据库连接conn。
  2. 实例化 QueryRunner,得到实例化对象qRunner。
  3. qRunner.update()方法,执行增改删的sql命令, qRunner.query()方法,得到结果集。
原创粉丝点击