2021-11-14 JDBC-ApacheDBUtils实现CRUD

commons-dbutils是Apache组织提供的一个开源JDBC工具类库,对JDBC封装。

runner.update (conn,sql,args)

runner.query(conn,sql,handler,args)

handler用来接收查询结果(接口为ResultSetHandler)

public class QueryRunnerTest {

    @Test
    public void testInsert()
    {
        Connection conn=null;
        try {
            QueryRunner runner=new QueryRunner();
            conn= JDBCUtils.getConnection();
            String sql="insert into customers(name,email,birth)values(?,?,?)";

            int insertCount= runner.update(conn,sql,"aaaa","asf","2000-10-1");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.closeResource(conn,null);
        }
    }

    @Test

    public void testQuery1() {
        Connection conn= null;
        try {
            QueryRunner runner=new QueryRunner();
            conn = JDBCUtils.getConnection();
            String sql="select id,name,email,birth from customers where id<?";
            BeanHandler<Customer> beanHandler=new BeanHandler<>(Customer.class);
//        Customer customer = runner.query(conn, sql, beanHandler, 23);
//        System.out.println(customer);

            BeanListHandler<Customer> handler=new BeanListHandler<>(Customer.class);
            List<Customer> customerList = runner.query(conn, sql, handler, 5);
            customerList.forEach(System.out::println);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.closeResource(conn,null);

        }
    }

@Test
    public void testQuery2() {
        Connection conn= null;
        try {
            QueryRunner runner=new QueryRunner();
            conn = JDBCUtils.getConnection();
            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);

        }
    }
}

自定义ResultSetHandler

       ResultSetHandler<Customer> handler=new ResultSetHandler<Customer>() {
                @Override
                public Customer handle(ResultSet resultSet) throws SQLException {
                    System.out.println("handle");
                    //return null;
                    
                    return new Customer(12,"cc","cc@163.com",2011-1-1);
                }
            };

关闭连接


        DbUtils.closeQuietly(conn);
        DbUtils.closeQuietly(ps);
        DbUtils.closeQuietly(resultSet);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值