jdbc学习----6.Apache-DBUtils

    技术2025-04-22  12

    Apache-DBUtils简介

    commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能API介绍 org.apache.commons.dbutils.QueryRunnerorg.apache.commons.dbutils.ResultSetHandler工具类:org.apache.commons.dbutils.DbUtils

    QueryRunner测试插入(其他同理)和查询:

    public class QueryRunnerTest { private static QueryRunner qr = new QueryRunner(); /** * 测试插入 * * @throws Exception */ @Test public void insert() throws Exception { String sql = "insert into customers(name,email,birth) values(?,?,?)"; Connection connection = JdbcUtils.getConnection(); qr.update(connection,sql, "张飞", "zhangfei@qq.com", "2000-07-14"); connection.close(); } @Test public void select() throws Exception { Connection connection = JdbcUtils.getConnection(); String sql = "select * from customers where id=?"; Customers c = qr.query(connection,sql,new BeanHandler<Customers>(Customers.class),1); System.out.println(c); } @Test public void selectList() throws Exception { Connection connection = JdbcUtils.getConnection(); String sql = "select * from customers"; List<Customers> customerList = qr.query(connection,sql,new BeanListHandler<Customers>(Customers.class)); System.out.println(customerList); connection.close(); } @Test public void selectMap() throws Exception{ Connection connection = JdbcUtils.getConnection(); String sql = "select * from customers where id=?"; Map<String,Object> map = qr.query(connection,sql,new MapHandler(),1); System.out.println(map); connection.close(); } @Test public void selectCount() throws Exception{ Connection connection = JdbcUtils.getConnection(); String sql = "select count(*) from customers"; Long count = (Long) qr.query(connection,sql,new ScalarHandler<>()); System.out.println(count); connection.close(); } /** * 自定义结果集处理器 */ @Test public void myselect() throws Exception { Connection connection = JdbcUtils.getConnection(); String sql = "select * from customers where id=?"; ResultSetHandler<Customers> myhandler = new ResultSetHandler<Customers>() { @Override public Customers handle(ResultSet rs) throws SQLException { Customers customer = null; if(rs.next()) { Integer id = rs.getInt(1); String name = rs.getString(2); String email = rs.getString(3); Date birth = new Date(rs.getDate(4).getTime()); customer = new Customers(id,name,email,birth); } return customer; } }; Customers c = qr.query(connection,sql,myhandler,1); System.out.println(c); } }

    ~~至此JDBC完结,撒花,撒花…

    Processed: 0.010, SQL: 9