1.組織sql語句, 查詢參數 數組, 設置返回類型
public int countByCondtion(String title, int mediaType, String currentStatus, String provider, String region,
Date from, Date to) {
List<Object> params = new ArrayList<Object>();
StringBuffer sql = new StringBuffer();
sql.append("select count(1) from checkin_request where 1=1 ");
if(StringUtils.isNotEmpty(title)){
sql.append("and title=? ");
params.add(title);
}
if(mediaType !=-1){
sql.append("and mediatype=? ");
params.add(mediaType);
}
if(StringUtils.isNotEmpty(currentStatus)){
sql.append("and current_status=? ");
params.add(currentStatus);
}
if(StringUtils.isNotEmpty(provider)){
sql.append("and provider=? ");
params.add(provider);
}
if(StringUtils.isNotEmpty(region)){
sql.append("and region=? ");
params.add(region);
}
if(from !=null){
sql.append("and createtime>=? ");
params.add(from);
}
if(to !=null){
sql.append("and createtime<? ");
params.add(to);
}
Object[] para = params.toArray(new Object[params.size()]);
return this.jdbcTemplate.queryForObject(sql.toString(), para, Integer.class);
}
2. 遇到的問題:
以上代碼為正確形式, 如果錯誤將select count 寫成 select * ,則查詢出錯