1.ibatis分頁處理
public List<User> query(String activityId, Date startTime, Date endTime, Integer start, Integer pageSize, String flagg) {
UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andActiveStatusEqualTo("1")
.andPayBenefitStatusEqualTo("0")
.andCouponStatusEqualTo("UD")
.andCouponIdEqualTo(activityId);
if(startTime != null) {
criteria.andEndTimeGreaterThanOrEqualTo(startTime);
}
if(endTime != null) {
criteria.andEndTimeLessThanOrEqualTo(endTime);
}
example.setOrderByClause("member_id");
example.setStart(start);
example.setPageSize(pageSize);
return userDAO.selectByExample(example, flagg);
}
2.jdbcTemplate分頁處理
private List<User> queryDetail(Long batchId, int start, int limit) {
StringBuffer sqlBuffer = new StringBuffer(query_sql);
sqlBuffer.append(" limit " + start + ", " + limit);
List<User> list = jdbcTemplate.query(sqlBuffer.toString(), new Object[] {batchId}, new BeanPropertyRowMapper(User.class));
return list;
}
3.jdbcTemple的in查詢
private static String status_in = "and status in ";
private List<Userl> queryDetailWithStatus(Long batchId, List<String> statusList, int start, int limit) {
StringBuffer sqlBuffer = new StringBuffer(query_sql);
if(!CollectionUtils.isEmpty(statusList)) {
sqlBuffer.append(status_in);
sqlBuffer.append("(");
for(int i=0; i<statusList.size();i++) {
if(i==0) {
sqlBuffer.append("'" + statusList.get(i) + "'");
} else {
sqlBuffer.append("," + "'" + statusList.get(i) + "'");
}
}
sqlBuffer.append(")");
}
sqlBuffer.append(" limit " + start + ", " + limit);
System.out.println(sqlBuffer);
List<User> list = jdbcTemplate.query(sqlBuffer.toString(), new Object[] {batchId}, new BeanPropertyRowMapper(User.class));
return list;
}
4.jdbcTemplate分頁的第二版
private static String real_sql ="select * from user limit %s,%s";
List<User> list = jdbcTemplate.query(String.format(real_sql,start,pageSize),
new Object[] {request.getActivityId(), endTime}, new BeanPropertyRowMapper(User.class));