mybatis 动态排序
作者:互联网
public class Pagination { // 当前页 private Integer page = 1; // 一页显示条数 private Integer limit = 10; // 排序字段 private String field; // 排序类型(desc(降序)、asc(升序)、null(空对象,默认排序)) private String order; }
Map<String, Object> map = new HashMap<String, Object>(); Integer page = pagination.getPage(); Integer limit = pagination.getLimit(); map.put("start", (page-1)*limit); map.put("pageNo", limit); map.put("field", pagination.getField()); map.put("order", pagination.getOrder());
<select id="queryMarkVoluntarilyList" parameterType="map" resultType="MarkVoluntarilyDto"> select a.*, FROM_UNIXTIME(a.createTime,'%Y-%m-%d %H:%i:%s') AS createTimeStr from web_ei_voluntarily a <where> <if test="websiteName !=null and websiteName !=''"> a.websiteName like concat(#{websiteName},'%') </if> <if test="websiteUrl !=null and websiteUrl !=''"> and a.websiteUrl like concat(concat('%',#{websiteUrl}),'%') </if> <if test="companyName !=null and companyName !=''"> and a.companyName like concat(concat('%',#{companyName}),'%') </if> <if test="deptCode !=null and deptCode !=''"> <if test="containSub == '1'.toString()"> and a.deptCode like concat(#{deptCode},'%') </if> <if test="containSub == '0'.toString()"> and a.deptCode = #{deptCode} </if> </if> <if test="registrationCode !=null and registrationCode !=''"> and a.registrationCode = #{registrationCode} </if> <if test="creditCode !=null and creditCode !=''"> and a.creditCode like concat(#{creditCode},'%') </if> </where> <choose> <when test="field !=null and field !=''"> ORDER BY ${field} ${order} </when> <otherwise> ORDER BY a.createTime desc </otherwise> </choose> limit #{start}, #{pageNo} </select>
标签:map,动态,like,private,limit,mybatis,Integer,排序,concat 来源: https://www.cnblogs.com/JYB2021/p/16659835.html