mybatis 多参数if条件编写


select *where 1=1

3个回答

不确定后面是否还有条件的时候,加上这个恒等条件where 1=1,这主要是保证直接在后面添加其他的条件时不会出错。

这么写select * from table where 1=1 and id=#{id,jdbcType=INTEGER}and name=#{name,jdbcType=VARCHAR} ....1=1是为了防止后面的条件都为空时不出错

sun2015_07_24
孙振光 回复qq_33734248: 我最先的回复写着if的 可能他这没识别就去掉不显示了
接近 5 年之前 回复
sun2015_07_24
孙振光 回复qq_33734248: 一样的,首先要写这个parameterType=“map”如果你传入的是一个值,就是<if test="value!= null">and ......</if>,如果你传入的是一个数组,就在if里面循环就好
接近 5 年之前 回复
qq_33734248
qq_33734248 这里我想问的是在传入paramter是多参数时,mybatis 会自动将它们封装成map 但是这个map value属性在if条件中怎么获取,#{map中的key值}会报错
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐