用户菜单,增加一个用户状态查询不生效

Blade 已结 1 555

一、该问题的重现步骤是什么?

1. 在页面新增如下信息:

{
  label: "用户状态",
  type: "select",
  dicData: [
	{
	  label: "禁用",
	  value: 0
	},
	{
	  label: "启用",
	  value: 1
	}
  ],
  dataType: "number",
  search: true,
  hide: true,
  display: false,
  prop: "status",
  rules: [{
	required: true,
	message: "请选择用户状态",
	trigger: "blur"
  }]
},

2. 在UserMapper.xml中添加如下代码:

<if test="user.status!=null and user.status != ''">
    and status = #{user.status}
</if>

image.png


二、你期待的结果是什么?实际看到的又是什么?

期待结果:可以根据指定的状态值查询出来相应的记录


实际结果:根据这个状态查询不生效,控制台打印的SQL没有拼接这个status参数

image.png

image.png

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

2.9版本

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    2022-03-09 23:29

    当对应传参有可能为0时,需要改为如下的情况

    <if test="user.status!=null and user.status != '' or 0==user.status">
        and status = #{user.status}
    </if>

    或者

    <if test="user.status!=null">
        and status = #{user.status}
    </if>


    0 讨论(1)
提交回复