<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 何楊 閱讀(393) 評論(0)  編輯  收藏 所屬分類: Teambiz
    主站蜘蛛池模板: A在线观看免费网站大全| 亚洲乱亚洲乱妇24p| 男女一进一出抽搐免费视频| 亚洲第一视频在线观看免费| 国产精品亚洲四区在线观看 | 中文字幕精品亚洲无线码一区| 亚洲国产成人精品无码区花野真一 | 最新亚洲卡一卡二卡三新区| 最近中文字幕无吗免费高清| 亚洲欧洲日韩国产| h片在线免费观看| 日韩在线a视频免费播放| 77777午夜亚洲| 成人免费a级毛片无码网站入口| 亚洲 暴爽 AV人人爽日日碰| 成人一a毛片免费视频| 国产产在线精品亚洲AAVV| 国产一级特黄高清免费大片| 日韩在线视频线视频免费网站| 国产亚洲精品久久久久秋霞| 在线观看免费无码视频| 亚洲AV日韩AV天堂一区二区三区 | 免费毛片在线播放| 亚洲另类激情综合偷自拍图| 免费日本一区二区| 亚洲成在人线中文字幕| 夫妻免费无码V看片| 免费看又黄又爽又猛的视频软件 | 精品少妇人妻AV免费久久洗澡| 免费VA在线观看无码| 亚洲第一AV网站| 一区二区三区在线免费 | 亚洲熟妇无码八V在线播放| 两个人看的www高清免费观看| 色婷婷六月亚洲婷婷丁香| 毛色毛片免费观看| 亚洲成a人片毛片在线| 国产免费牲交视频| 免费视频成人手机在线观看网址| 亚洲综合激情五月丁香六月| 国产午夜亚洲精品午夜鲁丝片|