zoukankan      html  css  js  c++  java
  • java学习之路—JDBC—DBUtils

    1.需要导的包

    commons-dbutils-jar

    2.用处

    利用dbutils提供的方法 便捷的访问数据库 更新 查询

    3.主要方法

        QueryRunner的quer方法的返回值取决于其ResultSetHandler参数的handle方法的返回值

        QueryRunner queryRunner = new QueryRunner();

    public void testQuery() {
    Connection connection = null;

    try {
    connection = JDBCTools.getConnection();
    String sql = "SELECT id,name,email,birth FROM customers";
    Object obj = queryRunner.query(connection, sql, new MyResultSetHandler());
    System.out.println(obj);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.releaseRs(null, connection, null);
    }

    }

       1.BeanHandler:把结果集的第一条记录转为创建的BeanHandler 对象时传入 的class参数对应的对象

           public void testBeanHanlder() {

    Connection connection = null;
    try {
    connection = JDBCTools.getConnection();
    String sql = "SELECT id,name,email,birth FROM customers WHERE id = ?";
    Customer customer = queryRunner.query(connection, sql, new BeanHandler<>(Customer.class), 5);

    System.out.println(customer);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.releaseRs(null, connection, null);
    }
    }

    2. BeanListHandler:把结果集转为一个List,该List不为null; 但可能为空集合(size() 方法返回 0 )

     public void testBeanListHandler() {
               Connection connection = null;
                  try {
    connection = JDBCTools.getConnection();
    String sql = "SELECT id,name,email,birth FROM customers ";
    List<Customer> customers = queryRunner.query(connection, sql, new BeanListHandler<>(Customer.class));

    System.out.println(customers);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.releaseRs(null, connection, null);
    }

    }

    3.MapHandler

    public void testMapHandler() {
    Connection connection = null;
    try {
    connection = JDBCTools.getConnection();
    String sql = "SELECT id,name,email,birth FROM customers";
    Map<String, Object> customer = queryRunner.query(connection, sql, new MapHandler());

    System.out.println(customer);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.releaseRs(null, connection, null);
    }
    }

    4.MapListHandler:将结果集转为一个Map的List   Map对应查询的一条记录

    public void TestMapListHandler() {
    Connection connection = null;
    try {
    connection = JDBCTools.getConnection();
    String sql = "SELECT id,name,email,birth FROM customers";
    List<Map<String, Object>> customer = queryRunner.query(connection, sql, new MapListHandler());

    System.out.println(customer);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.releaseRs(null, connection, null);
    }

    }

    5.Scarlar把结果集转为一个数值返回(可以是任意类型的 字符  数字)

    public void testScalarHandler() {
    Connection connection = null;
    try {
    connection = JDBCTools.getConnection();
    String sql = "SELECT name FROM customers WHERE id = ?";
    String result = queryRunner.query(connection, sql, new ScalarHandler<>(),5);

    System.out.println(result);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.releaseRs(null, connection, null);
    }

    }

  • 相关阅读:
    完美立方数
    有进度条的圆周率计算
    用turtle库画童年的记忆哆啦A梦
    如何用Python画一朵太阳花
    2、4、pandas库修改excel文件内容,把excel格式存为csv格式,csv格式换为html
    python文件读写的读书笔记
    python画手绘图
    利用python把成绩用雷达图表示出来
    Numpy 和 Matplotlib库的学习笔记
    python 科学计算及数据可视化
  • 原文地址:https://www.cnblogs.com/Codinginging/p/10513678.html
Copyright © 2011-2022 走看看