從制造到創造
          軟件工程師成長之路
          posts - 292,  comments - 96,  trackbacks - 0

          在再保系統中,我們有時候會以某個日期作為查詢條件,如在“參數維護”的某個模塊中,需要將“生效日期”作為查詢條件。

          我們在JSP中使用JS插件輸入“yyyy-mm-dd”格式的日期,但是數據庫(DB2)中的字段是“TimeStamp”,而我們在DBean中用VO接這個字段是用“Date”類型,這樣在做查詢的Dao類的方法中,我們要對這個字段進行處理。

          首先定義一種格式變量:
          SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd");

          然后將Date類型的變量進行格式化:
          myFmt.format(reCededRateVO.getBoundDate())

          這樣會得到“yyyy-MM-dd”格式的日期,然后就可以放到Sql語句中作為條件進行查詢了。

          /**
           * description: 根據公司別、再保類別查詢與之相符合的紀錄
           * 
           * 
          @param reCededRateVO
           *            ReCededRateVO
           * 
          @param startRow
           *            起始行
           * 
          @param numberOfRows
           *            讀取行數
           * 
          @return List 結果集
           * 
          @throws DbAccessException
           *             數據庫訪問異常
           
          */
          public List selectListByCode(ReCededRateVO reCededRateVO,
                  
          int startRow, int numberOfRows) throws DbAccessException {
              
          if (DEBUGLOG.isDebugEnabled()) {
                  DEBUGLOG.debug(
          "[ReCededRateDataDao.selectListByCode()]"
                          
          + "[begin]");
              }
              SimpleDateFormat myFmt 
          = new SimpleDateFormat("yyyy-MM-dd");
              StringBuffer hqlBuff 
          = new StringBuffer(
                      
          "from ReCededRateData as t where 1=1");
              
              
          // 公司別
              if (!"".equals(reCededRateVO.getCompanyFlag())
                      
          && reCededRateVO.getCompanyFlag() != null) {
                  hqlBuff.append(
          " and t.id.companyFlag = '"
                          
          + reCededRateVO.getCompanyFlag() + "'");
              }
              
              
          // 再保類別
              if (!"".equals(reCededRateVO.getReinsuranceClass())
                      
          && reCededRateVO.getReinsuranceClass() != null) {
                  hqlBuff.append(
          " and t.id.reinsuranceClass = '"
                          
          + reCededRateVO.getReinsuranceClass() + "'");
              }
              
              
          // 再保層次
              if (!"".equals(reCededRateVO.getReinsuranceLevel())
                      
          && reCededRateVO.getReinsuranceLevel() != null) {
                  hqlBuff.append(
          " and t.id.reinsuranceLevel = '"
                          
          + reCededRateVO.getReinsuranceLevel() + "'");
              }
              
              
          // 生效日期
              if (!"".equals(reCededRateVO.getBoundDate())
                      
          && reCededRateVO.getBoundDate() != null) {
                  hqlBuff.append(
          " and t.endDate >= '"
                          
          + myFmt.format(reCededRateVO.getBoundDate())
                          
          + "' and t.id.boundDate <= '"
                          
          + myFmt.format(reCededRateVO.getBoundDate()) + "'");
              }        
              
              hqlBuff.append(
          " order by t.id.companyFlag asc, t.id.boundDate asc,"
                      
          + "t.id.reinsuranceClass asc, t.id.reinsuranceLevel asc,"
                      
          + "t.id.reCompanyCode asc, t.id.bodyFlag asc");
              
          // 以公司別+生效日期+再保類別排序+再保層次+再保公司+體位別");
              
              List list 
          = this.hQueryByPage(hqlBuff.toString(), startRow,
                      numberOfRows);
              
          if (list != null && list.size() > 0) {
                  
          if (DEBUGLOG.isDebugEnabled()) {
                      DEBUGLOG.debug(
          "[selectListByCode()]select list success![end]");
                  }
                  
          return list;
              } 
          else {
                  
          if (DEBUGLOG.isDebugEnabled()) {
                      DEBUGLOG.debug(
          "[selectListByCode()]select list return null!"
                              
          + "[end]");
                  }
                  
          return null;
              }
          }
          posted on 2007-10-09 15:41 CoderDream 閱讀(721) 評論(0)  編輯  收藏 所屬分類: 再保系統

          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(9)

          我參與的團隊

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458389
          • 排名 - 114

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乳源| 芦山县| 汶上县| 嘉兴市| 历史| 独山县| 游戏| 肥东县| 杭锦后旗| 景德镇市| 同江市| 阿拉尔市| 渝中区| 龙游县| 蒙城县| 柳林县| 勐海县| 巴彦县| 栖霞市| 泾阳县| 尚志市| 尤溪县| 大英县| 盐边县| 晋州市| 孟连| 广灵县| 襄垣县| 格尔木市| 微博| 宝鸡市| 铜川市| 儋州市| 贺州市| 周口市| 凌源市| 赫章县| 治县。| 淮安市| 乌拉特前旗| 临海市|