<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
    主站蜘蛛池模板: 2020久久精品国产免费| 午夜dj在线观看免费视频| 亚洲女人影院想要爱| 午夜网站免费版在线观看| a毛片成人免费全部播放| 亚洲美女自拍视频| 国产精品免费_区二区三区观看| 99精品免费视品| 久久亚洲国产成人影院| 亚洲色欲久久久综合网东京热| 91精品免费久久久久久久久| 国产成人va亚洲电影| 亚洲一区二区三区高清| 亚洲精品老司机在线观看| 久久久久免费看成人影片| 羞羞网站免费观看| 青青免费在线视频| 337p日本欧洲亚洲大胆色噜噜| 国产免费黄色大片| 日本最新免费网站| 一级一级一级毛片免费毛片| 91亚洲精品自在在线观看| 亚洲人成亚洲人成在线观看| 韩国18福利视频免费观看| 日韩精品久久久久久免费| 狠狠综合亚洲综合亚洲色| 亚洲无砖砖区免费| 亚洲精品少妇30p| 国产美女无遮挡免费视频| 在线看免费观看AV深夜影院| 91在线免费视频| 色吊丝性永久免费看码| 亚洲一级特黄特黄的大片| 亚洲精品私拍国产福利在线| 亚洲精品NV久久久久久久久久| 免费无码AV电影在线观看| 先锋影音资源片午夜在线观看视频免费播放| 妇女自拍偷自拍亚洲精品| 亚洲人配人种jizz| 亚洲一区二区三区高清| 亚洲国产精品高清久久久|