在再保系統中,我們有時候會以某個日期作為查詢條件,如在“參數維護”的某個模塊中,需要將“生效日期”作為查詢條件。
我們在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 閱讀(718)
評論(0) 編輯 收藏 所屬分類:
再保系統