1. 程式人生 > >mybatis中 排序(將指定的排在後/前面)

mybatis中 排序(將指定的排在後/前面)

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