<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
    主站蜘蛛池模板: 日本一道本高清免费| 在线看片免费人成视久网| 免费观看的av毛片的网站| 久久久国产精品亚洲一区| 18女人腿打开无遮掩免费| 亚洲图片一区二区| 色欲A∨无码蜜臀AV免费播| 久久亚洲成a人片| 国产精品免费AV片在线观看| 久久亚洲免费视频| 51在线视频免费观看视频| 亚洲精品国产成人| 成人影片麻豆国产影片免费观看| 亚洲中文久久精品无码1 | 亚洲AV无码一区二区三区在线| 59pao成国产成视频永久免费 | 亚洲三级视频在线| 在线观看成人免费视频| 国产综合成人亚洲区| 亚洲性久久久影院| 99热这里只有精品免费播放| 亚洲二区在线视频| 国产男女猛烈无遮挡免费视频| 色多多www视频在线观看免费| 亚洲精品狼友在线播放| 91香蕉国产线在线观看免费| 精品亚洲AV无码一区二区三区| 免费看美女让人桶尿口| 国产精品视频全国免费观看| 亚洲日本va午夜中文字幕一区| 国产1024精品视频专区免费| 思思久久99热免费精品6 | 亚洲AV综合色区无码二区偷拍| 男女交性永久免费视频播放| 久久久久久久久久久免费精品| 久久久亚洲欧洲日产国码aⅴ| 午夜一级免费视频| 国产无遮挡无码视频免费软件 | 国产美女亚洲精品久久久综合| 6080午夜一级毛片免费看6080夜福利| 亚洲av片在线观看|