亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3488 | 回復: 0
打印 上一主題 下一主題

apache commons DbUtils使用說明[轉(zhuǎn)] [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-02-19 15:24 |只看該作者 |倒序瀏覽
    commons-dbutils 是 Apache 組織提供的一個開源 JDBC 工具類庫,對傳統(tǒng)操作數(shù)據(jù)庫的類進行二次封裝,可以把結(jié)果集轉(zhuǎn)化成List。
項目主頁:
http://commons.apache.org/dbutils/

文檔地址:
http://commons.apache.org/dbutils/examples.html
下載地址:
http://commons.apache.org/downloads/download_dbutils.cgi
(1)org.apache.commons.dbutils
DbUtils  : 提供如關(guān)閉連接、裝載 JDBC 驅(qū)動程序等常規(guī)工作的工具類
QueryRunner : 該類簡單化了 SQL 查詢,它與 ResultSetHandler 組合在一起使用可以完成大部分的數(shù)據(jù)庫操作,能夠大大減少編碼量。
QueryLoader : 屬性文件加載器,主要用于加載屬性文件中的 SQL 到內(nèi)存中。
(2)org.apache.commons.dbutils.handlers
ArrayHandler :將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成對象數(shù)組
ArrayListHandler將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是Object[]
BeanHandler :將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成類對象
BeanListHandler :將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是類對象
ColumnListHandler :將ResultSet中某一列的數(shù)據(jù)存成List,List中存放的是Object對象
KeyedHandler :將ResultSet中存成映射,key為某一列對應為Map。Map中存放的是數(shù)據(jù)
MapHandler :將ResultSet中第一行的數(shù)據(jù)存成Map映射
MapListHandler :將ResultSet中所有的數(shù)據(jù)存成List。List中存放的是Map
ScalarHandler :將ResultSet中一條記錄的其中某一列的數(shù)據(jù)存成Object

(3)org.apache.commons.dbutils.wrappers
SqlNullCheckedResultSet :該類是用來對sql語句執(zhí)行完成之后的的數(shù)值進行null的替換。
StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()
二、例子
Java代碼
  • public class TestDbUtils {  
  •   
  •     /**
  •      * BeanListHandler :將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是類對象
  •      */  
  •     public static void getBeanListData() {  
  •         Connection conn = getConnection();  
  •         QueryRunner qr = new QueryRunner();  
  •         try {  
  •             ResultSetHandler rsh = new BeanHandler(TUser.class);  
  •             TUser usr = (TUser) qr.query(conn,"SELECT id,username,gender FROM t_user WHERE id=10000",rsh);  
  •             System.out.println(StringUtils.center("findById", 50, '*'));  
  •             System.out.println("id=" + usr.getId() + " name=" + usr.getUsername() + " gender=" + usr.getGender());  
  •               
  •             List results = (List) qr.query(conn,"SELECT id,username,gender FROM t_user",  
  •                     new BeanListHandler(TUser.class));  
  •             System.out.println(StringUtils.center("findAll", 50, '*'));  
  •             for (int i = 0; i
  •                 TUser user = (TUser) results.get(i);  
  •                 System.out.println("id=" + user.getId() + "  name=" + user.getUsername() + "  gender=" + user.getGender());  
  •             }  
  •         } catch (SQLException e) {  
  •             e.printStackTrace();  
  •         } finally {  
  •             DbUtils.closeQuietly(conn);  
  •         }  
  •     }  
  •   
  •     /**
  •      * MapListHandler :將ResultSet中所有的數(shù)據(jù)存成List。List中存放的是Map
  •      */  
  •     public static void getMapListData() {  
  •         Connection conn = getConnection();  
  •         QueryRunner qr = new QueryRunner();  
  •         try {  
  •             List results = (List) qr.query(conn,"SELECT id,username,gender FROM t_user",  
  •                     new MapListHandler());  
  •             for (int i = 0; i
  •                 Map map = (Map) results.get(i);  
  •                 System.out.println("id=" + map.get("id") + " name=" + map.get("username") + " gender=" + map.get("gender"));  
  •             }  
  •         } catch (SQLException e) {  
  •             e.printStackTrace();  
  •         } finally {  
  •             DbUtils.closeQuietly(conn);  
  •         }  
  •     }  
  •   
  •     /**
  •      *新增和更新例子
  •      */  
  •     public static void insertAndUpdateData(){  
  •         Connection conn = getConnection();  
  •         QueryRunner qr = new QueryRunner();  
  •         try{  
  •             //創(chuàng)建一個數(shù)組來存要insert的數(shù)據(jù)  
  •             Object[] insertParams = {"John Doe", "000000","男"};  
  •             int inserts = qr.update(conn, "INSERT INTO t_user(username,password,gender) VALUES (?,?,?)",  
  •                     insertParams );  
  •             System.out.println("inserted " + inserts + " data");  
  •               
  •             Object[] updateParams = {"111111", "John Doe"};  
  •             int updates = qr.update(conn, "UPDATE t_user SET password=? WHERE username=?",  
  •                                       updateParams );  
  •             System.out.println("updated "+ updates + " data");  
  •         }catch (SQLException e) {  
  •             e.printStackTrace();  
  •         } finally {  
  •             DbUtils.closeQuietly(conn);  
  •         }  
  •     }  
  •   
  •     /**
  •      * Unlike some other classes in DbUtils, this class(SqlNullCheckedResultSet) is NOT thread-safe.
  •      */  
  •     public static void findUseSqlNullCheckedResultSet(){  
  •         Connection conn = getConnection();  
  •         try{  
  •             Statement stmt = conn.createStatement();  
  •             ResultSet rs = stmt.executeQuery("SELECT id, username, gender FROM t_user");  
  •             SqlNullCheckedResultSet wrapper = new SqlNullCheckedResultSet(rs);  
  •             wrapper.setNullString("N/A"); // Set null string  
  •             rs = ProxyFactory.instance().createResultSet(wrapper);  
  •               
  •             while(rs.next()){  
  •                 System.out.println("id="+rs.getInt("id") + " username=" + rs.getString("username")  
  •                         + " gender="+rs.getString("gender"));  
  •             }  
  •               
  •             rs.close();  
  •         }catch(Exception e){  
  •             e.printStackTrace();  
  •         }finally{  
  •             DbUtils.closeQuietly(conn);  
  •         }  
  •     }  
  •       
  •     /****數(shù)據(jù)庫連接*** */  
  •     public static Connection getConnection() {  
  •         Connection conn = null;  
  •         String driver = "com.mysql.jdbc.Driver";  
  •         String url = "jdbc:mysql://127.0.0.1/springapp?useUnicode=true&characterEncoding=gb2312";  
  •   
  •         DbUtils.loadDriver(driver);  
  •   
  •         try {  
  •             conn = DriverManager.getConnection(url, "root", "root");  
  •         } catch (SQLException ex) {  
  •             ex.printStackTrace();  
  •         }  
  •         return conn;  
  •     }  
  •       
  • }  
                   
                   
                   

    本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/21752/showart_2182510.html
  • 您需要登錄后才可以回帖 登錄 | 注冊

    本版積分規(guī)則 發(fā)表回復

      

    北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年舉報專區(qū)
    中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
    感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP