select * from dwd_school --- 学校名称
当前位置:   article > 正文

mybatis plus 多条件分页查询 if 嵌套写法_mybatisplus if

mybatisplus if

mapper.xml

  1. <select id="pageSelectList" resultMap="BaseResultMap" parameterType="DwdSchoolQuery" flushCache="true">
  2. select
  3. *
  4. from dwd_school
  5. <where>
  6. 1=1
  7. --- 学校名称
  8. <if test="params.schoolName !=null and params.schoolName !=''">
  9. and school_name LIKE CONCAT ('%',#{params.schoolName},'%')
  10. </if>
  11. --- 维度:学校类型(公立,私立,综合)
  12. <if test="params.dimSchoolType !=null and params.dimSchoolType !=''">
  13. and dim_school_type LIKE CONCAT ('%',#{params.dimSchoolType},'%')
  14. </if>
  15. --- 维度:学校等级(小初高,幼儿园,高校)
  16. <if test="params.dimSchoolLevel !=null and params.dimSchoolLevel !=''">
  17. and dim_school_level LIKE CONCAT ('%',#{params.dimSchoolLevel},'%')
  18. </if>
  19. --- 维度:年
  20. <if test="params.dimYear !=null and params.dimYear !=''">
  21. and dim_year LIKE CONCAT ('%',#{params.dimYear},'%')
  22. --- 维度:月
  23. <if test="params.dimMonth !=null and params.dimMonth !=''">
  24. and dim_month LIKE CONCAT ('%',#{params.dimMonth},'%')
  25. </if>
  26. </if>
  27. --- 维度:省
  28. <if test="params.dimProvince !=null and params.dimProvince !=''">
  29. and dim_province LIKE CONCAT ('%',#{params.dimProvince},'%')
  30. --- 维度:市
  31. <if test="params.dimCity !=null and params.dimCity !=''">
  32. and dim_city LIKE CONCAT ('%',#{params.dimCity},'%')
  33. --- 维度:区
  34. <if test="params.dimCounty !=null and params.dimCounty !=''">
  35. and dim_county LIKE CONCAT ('%',#{params.dimCounty},'%')
  36. </if>
  37. </if>
  38. </if>
  39. </where>
  40. ORDER BY ${params.orderBy} ${params.order}
  41. </select>

 mapper.java

Page<DwdSchool> pageSelectList(Page<DwdSchool> page, @Param("params") DwdSchoolQuery dwdSchoolQuery);

service

  1. @Override
  2. public Page<DwdSchool> pageSelectList(DwdSchoolQuery dwdSchoolQuery) {
  3. /*分页*/
  4. Page<DwdSchool> page = new Page<>(dwdSchoolQuery.getPageNo(), dwdSchoolQuery.getPageSize());
  5. return this.baseMapper.pageSelectList(page, dwdSchoolQuery);
  6. }

 query

  1. package com.hlta.map.query;
  2. import io.swagger.annotations.ApiModelProperty;
  3. import lombok.Data;
  4. import lombok.EqualsAndHashCode;
  5. import java.io.Serializable;
  6. /**
  7. * @Author WangChangDian
  8. * @Description //TODO 学校信息表查询条件封装
  9. * @Date 11:31 2021/5/12
  10. **/
  11. @Data
  12. @EqualsAndHashCode(callSuper = false)
  13. public class DwdSchoolQuery implements Serializable {
  14. private static final long serialVersionUID = 1L;
  15. /**
  16. * 学校名称
  17. */
  18. private String schoolName;
  19. /**
  20. * 维度:学校类型(公立,私立,综合)
  21. */
  22. private String dimSchoolType;
  23. /**
  24. * 维度:学校等级(小初高,幼儿园,高校)
  25. */
  26. private String dimSchoolLevel;
  27. /**
  28. * 维度:年
  29. */
  30. private String dimYear;
  31. /**
  32. * 维度:月
  33. */
  34. private String dimMonth;
  35. /**
  36. * 维度:省
  37. */
  38. private String dimProvince;
  39. /**
  40. * 维度:市
  41. */
  42. private String dimCity;
  43. /**
  44. * 维度:区
  45. */
  46. private String dimCounty;
  47. /**
  48. * pageNo
  49. */
  50. @ApiModelProperty(value = "pageNo", name = "页数", example = "1")
  51. private Long pageNo = 1L;
  52. /**
  53. * pageSize
  54. */
  55. @ApiModelProperty(value = "pageSize", name = "每页条数", example = "10")
  56. private Long pageSize = 10L;
  57. /**
  58. * 排序规则
  59. */
  60. @ApiModelProperty(value = "order", name = "排序规则", example = "DESC")
  61. private String order = "DESC";
  62. /**
  63. * 排序字段
  64. */
  65. @ApiModelProperty(value = "orderBy", name = "排序字段", example = "dwd_school.create_at")
  66. private String orderBy = "dwd_school.create_at";
  67. }

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/255589
推荐阅读
相关标签