mapper.xml
<select id="pageSelectList" resultMap="BaseResultMap" parameterType="DwdSchoolQuery" flushCache="true">
select
*
from dwd_school
<where>
1=1
--- 学校名称
<if test="params.schoolName !=null and params.schoolName !=''">
and school_name LIKE CONCAT ('%',#{params.schoolName},'%')
</if>
--- 维度:学校类型(公立,私立,综合)
<if test="params.dimSchoolType !=null and params.dimSchoolType !=''">
and dim_school_type LIKE CONCAT ('%',#{params.dimSchoolType},'%')
</if>
--- 维度:学校等级(小初高,幼儿园,高校)
<if test="params.dimSchoolLevel !=null and params.dimSchoolLevel !=''">
and dim_school_level LIKE CONCAT ('%',#{params.dimSchoolLevel},'%')
</if>
--- 维度:年
<if test="params.dimYear !=null and params.dimYear !=''">
and dim_year LIKE CONCAT ('%',#{params.dimYear},'%')
--- 维度:月
<if test="params.dimMonth !=null and params.dimMonth !=''">
and dim_month LIKE CONCAT ('%',#{params.dimMonth},'%')
</if>
</if>
--- 维度:省
<if test="params.dimProvince !=null and params.dimProvince !=''">
and dim_province LIKE CONCAT ('%',#{params.dimProvince},'%')
--- 维度:市
<if test="params.dimCity !=null and params.dimCity !=''">
and dim_city LIKE CONCAT ('%',#{params.dimCity},'%')
--- 维度:区
<if test="params.dimCounty !=null and params.dimCounty !=''">
and dim_county LIKE CONCAT ('%',#{params.dimCounty},'%')
</if>
</if>
</if>
</where>
ORDER BY ${params.orderBy} ${params.order}
</select>
mapper.java
Page<DwdSchool> pageSelectList(Page<DwdSchool> page, @Param("params") DwdSchoolQuery dwdSchoolQuery);
service
@Override
public Page<DwdSchool> pageSelectList(DwdSchoolQuery dwdSchoolQuery) {
/*分页*/
Page<DwdSchool> page = new Page<>(dwdSchoolQuery.getPageNo(), dwdSchoolQuery.getPageSize());
return this.baseMapper.pageSelectList(page, dwdSchoolQuery);
}
query
package com.hlta.map.query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* @Author WangChangDian
* @Description //TODO 学校信息表查询条件封装
* @Date 11:31 2021/5/12
**/
@Data
@EqualsAndHashCode(callSuper = false)
public class DwdSchoolQuery implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 学校名称
*/
private String schoolName;
/**
* 维度:学校类型(公立,私立,综合)
*/
private String dimSchoolType;
/**
* 维度:学校等级(小初高,幼儿园,高校)
*/
private String dimSchoolLevel;
/**
* 维度:年
*/
private String dimYear;
/**
* 维度:月
*/
private String dimMonth;
/**
* 维度:省
*/
private String dimProvince;
/**
* 维度:市
*/
private String dimCity;
/**
* 维度:区
*/
private String dimCounty;
/**
* pageNo
*/
@ApiModelProperty(value = "pageNo", name = "页数", example = "1")
private Long pageNo = 1L;
/**
* pageSize
*/
@ApiModelProperty(value = "pageSize", name = "每页条数", example = "10")
private Long pageSize = 10L;
/**
* 排序规则
*/
@ApiModelProperty(value = "order", name = "排序规则", example = "DESC")
private String order = "DESC";
/**
* 排序字段
*/
@ApiModelProperty(value = "orderBy", name = "排序字段", example = "dwd_school.create_at")
private String orderBy = "dwd_school.create_at";
}