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 * ,則查詢出錯