2 qq 33734248 qq_33734248 于 2016.01.13 19:57 提问

mybatis 多参数if条件编写


select *where 1=1

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.13 20:09
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.13 20:12

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

sun2015_07_24
sun2015_07_24   2016.01.14 08:41

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

sun2015_07_24
sun2015_07_24 回复qq_33734248: 我最先的回复写着if的 可能他这没识别就去掉不显示了
接近 2 年之前 回复
sun2015_07_24
sun2015_07_24 回复qq_33734248: 一样的,首先要写这个parameterType=“map”如果你传入的是一个值,就是<if test="value!= null">and ......</if>,如果你传入的是一个数组,就在if里面循环就好
接近 2 年之前 回复
qq_33734248
qq_33734248 这里我想问的是在传入paramter是多参数时,mybatis 会自动将它们封装成map 但是这个map value属性在if条件中怎么获取,#{map中的key值}会报错
接近 2 年之前 回复
CSDNXIAOD
CSDNXIAOD   2016.01.13 19:59

mybatis if 条件判断 = like
Mybatis单个参数的if判断(针对异常:There is no getter for property..)
化简复杂逻辑,编写紧凑的if条件语句
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!