mybatis中 排序(將指定的排在後/前面)
阿新 • • 發佈:2019-01-08
public List<SuitEvidenceVo> selectWithFileByCaseId(Long caseId, List<Long> userIdList, Page evidencePge) { SuitEvidenceDoExample example = new SuitEvidenceDoExample(); Criteria criteria = example.createCriteria(); criteria.andCaseIdEqualTo(caseId); StringBuilder sb = new StringBuilder(); if(userIdList !=null && !userIdList.isEmpty()){ for(int i=0;i<userIdList.size();i++){ if (userIdList.get(i) == null ) { continue; } if (i < userIdList.size() - 1) { sb.append(userIdList.get(i) + ","); } else { sb.append(userIdList.get(i)); } } } example.setOrderByClause("case when use_id in (" + sb + ") then 2 else 1 end, id "); example.setPage(evidencePge); if (StringUtils.isEmpty(example.getOrderByClause())) { example.setOrderByClause("id asc"); } return this.selectListByExample(example); }