• DBUtils


    DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码

     

    两个类

    QueryRunner中提供对sql语句操作的API.

    ResultSetHandler接口,用于定义select操作后,怎样封装结果集.

     

    QueryRunner核心类

    l  update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作

    l  query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作

     

    增加

    //获取一个用来执行SQL语句的对象   QueryRunner

            QueryRunner qr = new QueryRunner();

           

            String sql = "INSERT INTO zhangwu(name,money,parent) VALUES(?,?,?)";

            Object[] params = {"股票收入", 5500, "收入"};

            Connection conn = JDBCUtils.getConnection();

            int line = qr.update(conn,sql,params);// 用来完成表数据的增加、删除、更新操作

            //结果集处理

            System.out.println("line = " + line);

            

    删除

     

    //创建一个QueryRunner对象,用来完成SQL语句的执行

            QueryRunner qr = new QueryRunner();

            //执行SQL语句

            String sql = "DELETE FROM zhangwu WHERE name = ?";

            Object[] params = {"股票收入"};

            Connection conn = JDBCUtils.getConnection();

            int line = qr.update(conn, sql, params);

            //结果集的处理

            System.out.println("line="+line);

       

     ResultSetHandler结果集处理类

      查询

    Object[]  ArrayHandler------查询一条

    List<Object[]> ArrayListHandler------查询

    BeanHandler()

    BeanListHandler() ----封装类的内容(所有)

    //获取QueryRunner

                QueryRunner qr = new QueryRunner();

                //执行SQL语句

                String sql = "SELECT * FROM zhangwu WHERE id=?";

                Object[] params = {1};

                Connection conn = JDBCUtils.getConnection();

                ZhangWu zw = qr.query(conn, sql, new BeanHandler<ZhangWu>(ZhangWu.class), params);

                //结果集处理

                System.out.println(zw);

               

                conn.close();

     

    //获取QueryRunner

                QueryRunner qr = new QueryRunner();

                //执行SQL语句

                String sql = "SELECT * FROM zhangwu WHERE money>?";

                Object[] params = {2000};

                Connection conn = JDBCUtils.getConnection();

                List<ZhangWu> list = qr.query(conn, sql, new BeanListHandler<ZhangWu>(ZhangWu.class), params);


     

     ColumnListHandler   ----取一列的数据

    ScalarHandler查询-------它是用于单数据。例如select count(*) from 表操作。

    //获取QueryRunner对象

                QueryRunner qr = new QueryRunner();

                //执行SQL语句

                String sql = "SELECT name FROM zhangwu WHERE money>?";

                Object[] params = {2000};

                Connection conn = JDBCUtils.getConnection();

                List<String> list = qr.query(conn, sql, new ColumnListHandler<String>(), params);

                //结果集的处理

                for (String str : list) {

                    System.out.println(str);

                }

     

                conn.close();

     

    //获取QueryRunner对象

                QueryRunner qr = new QueryRunner();

               

                //执行SQL语句

                String sql = "SELECT MAX(money) FROM zhangwu";

                Object[] params = {};

                Connection conn = JDBCUtils.getConnection();

                Double max = qr.query(conn, sql, new ScalarHandler<Double>(), params);

                //结果集的处理

                System.out.println("max=" + max);

               

                conn.close();

  • 相关阅读:
    二叉树的层序遍历-102
    剑指offer 06 从尾到头打印链表
    替换空格:剑指offer05
    面试题16.11.跳水板----leetcode
    JVM——垃圾回收
    新生代Eden与两个Survivor区的解释
    JVM 1.8 永久代---元空间 的变动
    Git拉取项目避坑
    python-装饰器
    python-Queue
  • 原文地址:https://www.cnblogs.com/1997WY/p/10703227.html
Copyright © 2020-2023  润新知