<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 簡介 DBUtils是java編程中的數據庫操作實用工具,小巧簡單實用。 DBUtils封裝了對JDBC的操作,簡化了JDBC操作,可以少寫代碼。 Dbutils三個核心功能介紹 * QueryRunner中提供對sql語句操作的API. * ResultSetHandler接口,用于定義select操作后,怎樣封裝結果集. * DBUtils類,它就是一個工具類,定義了關閉資源與事務處理的方法 # QueryRunner核心類 ## 方法 * update(Connection conn, String sql, Object... params) ,用來完成表數據的增加、刪除、更新操作 * query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用來完成表數據的查詢操作 ## 添加、更新、刪除操作 * update(Connection conn, String sql, Object... params) ,用來完成表數據的增加、刪除、更新操作 * 添加 ~~~ public void insert(){ try { //獲取一個用來執行SQL語句的對象 QueryRunner QueryRunner qr = new QueryRunner(); String sql = "INSERT INTO zhangwu(name,money,parent) VALUES(?,?,?)"; Object[] params = {"股票收入", 5500, "收入"}; //JDBCUtils是自己封裝的連接類,上一章節有 Connection conn = JDBCUtils.getConnection(); int line = qr.update(conn,sql,params);// 用來完成表數據的增加、刪除、更新操作 //結果集處理 System.out.println("line = " + line); } catch (SQLException e) { throw new RuntimeException(e); } } ~~~ * 更新 ~~~ public void update(){ try { //創建一個QueryRunner對象,用來完成SQL語句的執行 QueryRunner qr = new QueryRunner(); //執行SQL語句 String sql = "UPDATE zhangwu SET money = money+1000 WHERE name=?"; Object[] params = {"股票收入"}; Connection conn = JDBCUtils.getConnection(); int line = qr.update(conn, sql, params); //結果集的處理 System.out.println("line="+line); } catch (SQLException e) { throw new RuntimeException(e); } } ~~~ ## 查詢 * query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用來完成表數據的查詢操作 ### ResultSetHandler結果集處理類 ![](https://box.kancloud.cn/3a17113a7c19fed40cde1d33185299d0_924x377.png) ![](https://box.kancloud.cn/3b1ee704311e3d58b54bc6fa061df3ef_917x493.png) ![](https://box.kancloud.cn/c47cff1fcfadb6c82e64863b67fe1520_916x660.png) ![](https://box.kancloud.cn/f2e3afc580c8830e44ea0a28dc86c12d_917x639.png) ### JavaBean JavaBean就是一個類,在開發中常用封裝數據。具有如下特性 1. 需要實現接口:java.io.Serializable ,通常實現接口這步驟省略了,不會影響程序。 2. 提供私有字段:private 類型 字段名; 3. 提供getter/setter方法: 4. 提供無參構造 ### ArrayHandler與ArrayListHandler查詢 * ArrayHandler:將結果集中的第一條記錄封裝到一個Object[]數組中,數組中的每一個元素就是這條記錄中的每一個字段的值 ~~~ try { //獲取QueryRunner對象 QueryRunner qr = new QueryRunner(); //執行SQL語句 String sql = "SELECT * FROM zhangwu"; Object[] params = {}; Connection conn = JDBCUtils.getConnection(); Object[] objArray = qr.query(conn, sql, new ArrayHandler(), params); //結果集的處理 System.out.println( Arrays.toString(objArray) ); conn.close(); } catch (SQLException e) { e.printStackTrace(); } ~~~ * ArrayListHandler:將結果集中的每一條記錄都封裝到一個Object[]數組中,將這些數組在封裝到List集合中。 ~~~ try { //獲取QueryRunner對象 QueryRunner qr = new QueryRunner(); //執行SQL語句 String sql = "SELECT * FROM zhangwu WHERE money>?"; Object[] params = {2000}; Connection conn = JDBCUtils.getConnection(); List<Object[]> list = qr.query(conn, sql, new ArrayListHandler(), params); //結果集的處理 for (Object[] objArray : list) { System.out.println( Arrays.toString(objArray) ); } conn.close(); } catch (SQLException e) { e.printStackTrace(); } } ~~~ ### BeanHandler與BeanListHandler查詢 * BeanHandler :將結果集中第一條記錄封裝到一個指定的javaBean中。 ~~~ try{ //獲取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(); } catch(SQLException e){ throw new RuntimeException(e); } ~~~ * BeanListHandler :將結果集中每一條記錄封裝到指定的javaBean中,將這些javaBean在封裝到List集合中 ~~~ try{ //獲取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); //結果集處理 for (ZhangWu zw : list) { System.out.println(zw); } conn.close(); } catch(SQLException e){ throw new RuntimeException(e); } ~~~ ### ColumnListHandler與ScalarHandler查詢 * ColumnListHandler:將結果集中指定的列的字段值,封裝到一個List集合中 ~~~ try { //獲取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(); } catch (SQLException e) { e.printStackTrace(); } ~~~ * ScalarHandler:它是用于單數據。例如select count(*) from 表操作。 ~~~ try { //獲取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(); } catch (SQLException e) { e.printStackTrace(); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看