前端一个参数传递多个值,后台 mabatisplus xml中使用in 模糊匹配

17 篇文章 1 订阅

需求:
页面选择年度数据,支持多选:

在这里插入图片描述
前端传值(前端将这个数组toString了)也就是传递到后台的是一个字符串
在这里插入图片描述

后台模糊查询的时候,既要查询2021-2022的数据,也要查询2022-2023的数据,那in匹配的时候我的处理如下:
controller:
由于需求变更,之前是年度只选一个,所以实体类字段定义的是String类型的,后来改成可以多选,我就在实体类中多加了一个字段,类型是List,前端传值的时候还是给String的属性赋值的,所以在controller层要判断前端有没有选年度这个条件,有的话就把String转为List 在赋值给实体类中的List类型的属性
在这里插入图片描述

实体类:

    /**
     * 年度
     */
    @ApiModelProperty("供热年度")
    private String heatingYear;
    /**
     * 年度数组
     */
    @TableField(exist = false)
    private List<String> heatingYestList;

mapper.xml中:

 <if test="param.heatingYestList !=  null and param.heatingYestList.size > 0 ">
            and b.heating_year in
            <foreach item="heatingYest" index="index" collection="param.heatingYestList" open="(" close=")" separator=",">
                #{heatingYest}
            </foreach>
  </if>

结果:
在这里插入图片描述

如果前端 能传一个数组过来后台就不用再转换了。
描述有误的地方欢迎大家指正,大家有问题可加qq 876942434。一起进步~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值