DBUtils简介

DBUtils简介

1、DBUtils是Apache Commons组件中的一员,开源免费!

2、DBUtils是对JDBC的简单封装,但是它还是被很多公司使用!

3、DBUtils的Jar包:dbutils.jar

一、对javabean的基本操作

        // a. 基本操作
        Admin admin = new Admin();
//      admin.setUserName("Jack");
//      admin.setPwd("999");
        // b. BeanUtils组件实现对象属性的拷贝
        BeanUtils.copyProperty(admin, "userName", "jack");
        BeanUtils.setProperty(admin, "age", 18);
        // 总结1: 对于基本数据类型,会自动进行类型转换!
        // c. 对象的拷贝
        Admin newAdmin = new Admin();
        BeanUtils.copyProperties(newAdmin, admin);
        // d. map数据,拷贝到对象中
        Admin adminMap = new Admin();
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("userName", "Jerry");
        map.put("age", 29);
        // 注意:map中的key要与javabean的属性名称一致
        BeanUtils.populate(adminMap, map);
        // 测试
        System.out.println(adminMap.getUserName());
        System.out.println(adminMap.getAge());

* entity

    public class Admin 
        private int id;
        private String userName;
        private String pwd;
        private int age;
        private Date birth;

二、增、删、改

1. 更新、添加、删除

    String sql = "delete from admin where id=?";
    // 连接对象
    conn = JdbcUtil.getConnection();
    // 创建DbUtils核心工具类对象
    QueryRunner qr = new QueryRunner();
    qr.update(conn, sql, 26);
    // 关闭
    DbUtils.close(conn);

2. 批处理

    String sql = "insert into admin (userName, pwd) values(?,?)";
    conn = JdbcUtil.getConnection();
    QueryRunner qr = new QueryRunner();
    // 批量删除
    qr.batch(conn, sql, new Object[][]{ {"jack1","888"},{"jack2","999"}  });
    // 关闭
    conn.close();

三、查

一、查询, 自定义结果集封装数据

    String sql = "select * from admin where id=?";
    // 获取连接
    conn = JdbcUtil.getConnection();
    // 创建DbUtils核心工具类对象
    QueryRunner qr = new QueryRunner();
    // 查询
    Admin admin = qr.query(conn, sql, new ResultSetHandler<Admin>() {
        // 如何封装一个Admin对象
        public Admin handle(ResultSet rs) throws SQLException {
            if (rs.next()) {
                Admin admin = new Admin();
                admin.setId(rs.getInt("id"));
                admin.setUserName(rs.getString("userName"));
                admin.setPwd(rs.getString("pwd"));
                return admin;
            }
            return null;
        }
    }, 29);
    // 测试
    System.out.println(admin);
    // 关闭
    conn.close();

二、查询, 使用组件提供的结果集对象封装数据

BeanHandler: 查询返回单个对象
    String sql = "select * from admin where id=?";
    // 获取连接
    conn = JdbcUtil.getConnection();
    // 创建DbUtils核心工具类对象
    QueryRunner qr = new QueryRunner();
    // 查询返回单个对象
    Admin admin =  qr.query(conn, sql, new BeanHandler<Admin>(Admin.class), 29);

    System.out.println(admin);
    conn.close();
BeanListHandler: 查询返回list集合,集合元素是指定的对象
    String sql = "select * from admin";
    conn = JdbcUtil.getConnection();
    QueryRunner qr = new QueryRunner();
    // 查询全部数据
    List<Admin> list = qr.query(conn, sql, new BeanListHandler<Admin>(Admin.class));

    System.out.println(list);
    conn.close();
ArrayHandler, 查询返回结果记录的第一行,封装对对象数组, 即返回:Object[]
ArrayListHandler, 把查询的每一行都封装为对象数组,再添加到list集合中
ScalarHandler 查询返回结果记录的第一行的第一列 (在聚合函数统计的时候用)
MapHandler 查询返回结果的第一条记录封装为map
    String sql = "select * from admin";
    conn = JdbcUtil.getConnection();
    QueryRunner qr = new QueryRunner();
    // 查询
    //Object[] obj = qr.query(conn, sql, new ArrayHandler());
    //List<Object[]> list = qr.query(conn, sql, new ArrayListHandler());
    //Long num = qr.query(conn, sql, new ScalarHandler<Long>());
    Map<String, Object> map = qr.query(conn,sql, new MapHandler());
    conn.close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值