<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    當柳上原的風吹向天際的時候...

    真正的快樂來源于創造

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks

     

     

     

     

     

     

    Teambiz中三種特殊RowMapper的使用

     

     

     

     

     

     

    作者:何楊

    撰寫日期:2012年2月25日

    版本:1.00

    更新日期:

     

     

     

    第一部分:功能說明

    針對特殊目的的查詢,TeamBiz提供了一系列的RowMapper類以減輕程序員的勞動。

    第二部分:核心組件

    名稱

    路徑

    說明

    IntegerRowMapper

    teambiz\src\com\ibm\heyang\dao\rowmapper\IntegerRowMapper.java

    只需進行數量查詢時,如select count(*) from tb,明確只會返回一行一列,這時建議使用這個類。

    StringRowMapper

    teambiz\src\com\ibm\heyang\dao\rowmapper\StringRowMapper.java

    當只查詢一列時,如select a from table,建議使用這個類。

    UserRowMapper

    eambiz\src\com\ibm\heyang\dao\rowmapper\UserRowMapper.java

    當需要從JDBCTemplate查詢到的鏈表中取出對象時,建議仿照這個類制作自己的RowMapper類

     

    第三部分:各種RowMapper類的具體使用

    1. IntegerRowMapper。

    StringBuilder sb=new StringBuilder();

    sb.append("    select ");

    sb.append("        count(*) as recordcount");

    sb.append("    from teambiz_menu");

    String sql=sb.toString();

    List<?> ls=this.getJdbcTemplate().query(sql, new IntegerRowMapper());

    Integer count=(Integer)(ls.get(0));

    以上代碼路徑:teambiz\src\com\ibm\heyang\dao\MenuDao.java中isNoMenu函數。

     

    2. StringRowMapper

    StringBuilder sb=new StringBuilder();

    sb.append("    select");

    sb.append("        t01.group_name");

    sb.append("    from");

    sb.append("        sys_group");

    sb.append("        t01,");

    sb.append("        sys_user");

    sb.append("        t02");

    sb.append("    where");

    sb.append("        t01.groupid=t02.groupid");

    sb.append("        and");

    sb.append("        t02.userid="+userid+"");

    String sql=sb.toString();

     

    // 查詢

    List<?> ls = this.getJdbcTemplate().query(sql,new StringRowMapper());

    最后得到的ls就是一個包含字符串元素的鏈表,要取值對其進行遍歷即可。

    3. UserRowMapper的使用示例

    StringBuilder sb=new StringBuilder();

    sb.append("    select ");

    sb.append("          ID, ");

    sb.append("          name, ");

    sb.append("          email, ");

    sb.append("          pswd, ");

    sb.append("          groupName, ");

    sb.append("          companyName,");

    sb.append("          level");

    sb.append("    from teambiz_user");

    sb.append("    where name='"+name+"' and ");

    sb.append("          pswd='"+pswd+"' ");

    String sql=sb.toString();

     

    List<?> ls = this.getJdbcTemplate().query(sql, (new UserRowMapper()));

     

    if(ls.size()==1){

                return (User)ls.get(0);

    }else{

                throw new Exception("用戶名或密碼錯誤!");

    }

    以上代碼路徑:teambiz\src\com\ibm\heyang\dao\UserDao.java中的getUserByNamePswd函數。

     

    第四部分:小結

    對數據庫進行各種查詢是程序員的常見任務之一,如果能適當運用以上類,能減少代碼的重復程度及減輕他們的勞動強度。

    posted on 2012-02-29 10:34 何楊 閱讀(386) 評論(0)  編輯  收藏 所屬分類: Teambiz
    主站蜘蛛池模板: 亚洲人成网站999久久久综合| 久久久久亚洲爆乳少妇无| 亚洲一级毛片免费看| 无码A级毛片免费视频内谢| 免费在线看黄网站| 午夜精品射精入后重之免费观看| 99久久婷婷免费国产综合精品| 久久精品免费大片国产大片| 久久久久久av无码免费看大片| 成人无码视频97免费| 国产成年无码久久久免费| 国产一区二区三区免费观看在线| 大地影院MV在线观看视频免费| 国产免费网站看v片在线| 无码A级毛片免费视频内谢| 亚洲免费观看在线视频| 成人性生交大片免费看无遮挡 | 精品国产亚洲一区二区三区在线观看| 亚洲国产成人久久精品软件| 亚洲日韩国产AV无码无码精品| 美女免费视频一区二区三区| jizz在线免费观看| 国产激情免费视频在线观看| 免费可以看黄的视频s色| 日韩视频在线免费| 久久久久国产亚洲AV麻豆| 亚洲av无码乱码国产精品| 亚洲黄色网址大全| 亚洲精品无AMM毛片| 特级毛片在线大全免费播放| 十八禁视频在线观看免费无码无遮挡骂过 | 国产成A人亚洲精V品无码 | 亚洲国产婷婷综合在线精品| 国产成人综合亚洲AV第一页| 亚洲av无码国产精品色午夜字幕 | 亚洲精品123区在线观看| 国产亚洲福利精品一区二区| 中国在线观看免费的www| 黄页网站在线看免费| 亚洲欧洲中文日韩av乱码| 久久久久亚洲AV成人无码网站|