ibatis vs jdbcTemplate

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));



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章