1. gzyueqian
      13352868059

      Dbutil框架和Dbutil的簡單介紹

      更新時間: 2018-08-28 10:40:44來源: 嵌入式培訓瀏覽量:7448

      Dbutil框架和它的簡單介紹

      l commons-dbutils 是 Apache 組織提供的一個開源 JDBC工具類庫,它是對JDBC的簡單封裝,學習成本極低,并且使用dbutils能極大簡化jdbc編碼的工作量,同時也不會影響程序的性能。因此dbutils成為很多不喜歡hibernate的公司的。

      l API介紹:

      ? org.apache.commons.dbutils.QueryRunner --- 核心
      ? org.apache.commons.dbutils.ResultSetHandler

      ? 工具類

      ? org.apache.commons.dbutils.DbUtils、。   

      DBUtils學習

      1、QueryRunner 框架核心類 ,所有數據庫操作都是必須通過 QueryRunner 進行的

      2、ResultSetHandler 結果集封裝接口,完成將ResultSet 結果集 封裝為一個Java對象

      3、DbUtils 工具類 提供驅動管理、事務管理、釋放資源等一系列公共方法

      DbUtils
      l DbUtils :提供如關閉連接、裝載JDBC驅動程序等常規工作的工具類,里面的所有方法都是靜態的。主要方法如下:

      ? public static void close(…) throws java.sql.SQLException: DbUtils類提供了三個重載的關閉方法。這些方法檢查所提供的參數是不是NULL,如果不是的話,它們就關閉Connection、Statement和ResultSet。

      ? public static void closeQuietly(…): 這一類方法不僅能在Connection、Statement和ResultSet為NULL情況下避免關閉,還能隱藏一些在程序中拋出的SQLException。

      ? public static void commitAndCloseQuietly(Connection conn): 用來提交連接,然后關閉連接,并且在關閉連接時不拋出SQL異常。

      ? public static boolean loadDriver(java.lang.String driverClassName):這一方裝載并注冊JDBC驅動程序,如果成功就返回true。使用該方法,你不需要捕捉這個異常ClassNotFoundException。

      QueryRunner
      l 該類簡單化了SQL查詢,它與ResultSetHandler組合在一起使用可以完成大部分的數據庫操作,能夠大大減少編碼量。

      l QueryRunner類提供了兩個構造方法:

      ? 默認的構造方法(手動管理事務)

      ? 需要一個 javax.sql.DataSource 來作參數的構造方法。(自動管理事物)

      l 更新操作

      ? public int update(Connection conn, String sql, Object... params)

      ? public int update(String sql, Object... params)

      l 查詢操作

      ? public Object query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)

      ? public Object query(String sql, ResultSetHandler<T> rsh, Object... params)

      ResultSetHandler
      l 該接口用于處理 java.sql.ResultSet,將數據按要求轉換為另一種形式。

      l ResultSetHandler 接口提供了一個單獨的方法:Object handle (java.sql.ResultSet .rs)。

      ResultSetHandler 在DBUtils 框架中提供九個默認 實現類,直接使用九個默認實現類,可以完成常規操作,而不需要自定義結果集封裝

      1) ArrayHandler 和 ArrayListHandler  將數據表的每行記錄保存Object[] 中

      2) BeanHandler 和 BeanListHandler 將數據表每行記錄 保存JavaBean對象中

      * 封裝javabean屬性時,必須保證數據表列名與 javabean屬性名一致,否則無法封裝

      3) MapHandler和 MapListHandler 將結果每行記錄保存到一個Map集合,key是列名,value是值  

      4) ColumnListHandler 查詢結果集中指定一列數據

      5) KeyedHandler(name) 結果集每行數據封裝map,再將map存入另一個map 作為value,指定一列作為key

      6) ScalarHandler 進行單值查詢 select count(*) from account;
      粵嵌科技創辦于2005年是一家IT高新技術企業,專注IT職業教育13年,主要培訓課程分別有嵌入式培訓、Java培訓、Unity游戲開發、Python人工智能、HTML5前端開發、全棧UI設計、網絡營銷、CCIE網絡等專業課程,咨詢電話:020-61038927

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产激情一区在线 | 中文在线字幕第一页 | 亚洲欧美在线六月综合 | 在线观看免费肉片AⅤ视频 久久免费国产視频 | 最新国产免费AV片在线观看 | 亚洲精品动漫卡通在线观看 |