查詢邏輯跟普通的查詢差不多,只是其中用到的幾個方法需要注意
例如
/*** * 此方法描述的是:查詢即將到期的抵押合同* * @Title: getListNearMortg* @author: jiafei* @param response* @param bi* @return void 返回類型* @version: Nov 22, 2016 7:17:13 PM* @throws Exception*/@RequestMapping(params = "action=getListNearMortg")public void getListNearMortg(HttpServletResponse response) throws Exception {Calendar c = Calendar.getInstance();/*** 一個月后*/c.add(Calendar.MONTH, 1);List<MortgageInfo> list = mortgageInfoService.getListNearMortg(c.getTime());super.forwardAjax(response, JSONArray.fromObject(list).toString(),WebUtils.CONTENTTYPE_TEXTJSON, WebUtils.CONTENT_CHARSET_UTF8);}
時間可以從前臺傳或者自己new一個,對應的sql語句如下:
<select id="com.app.mortgage.domain.MortgageInfo.getListNearMortg"parameterClass="java.util.Date" resultClass="MortgageInfo"><![CDATA[SELECT t1.* FROM (SELECT am.*,abi.name_ assetsname FROM TBL_ASSETS_MORTG am left join tbl_assets_base_info abi on am.assetsinfoid_ = abi.id_WHERE add_months(am.starttime_,am.timelength_*12) < #value# and add_months(am.starttime_,am.timelength_*12) > sysdate AND am.MORTGSTATE_ =0 AND am.ISVALID_ =0 ORDER BY endTime_ DESC )t1WHERE rownum < 9]]><isNotEmpty>and 1=1</isNotEmpty></select>
其中用到了add_months方法,Oracle add_months(time,months)函數可以得到某一時間之前或之后n個月的時間
新聞熱點
疑難解答