多个or查询作为一个整体

都使用过mybatis,都见过这样的标签sql配置:

<isNotEmpty property="PROPERTYNAME" prepend="AND ">

            (T1.PROPERTY_NAME like '%'|| #PROPERTYNAME# ||'%'

            OR T1.BUILDING_NAME like '%'|| #PROPERTYNAME# ||'%'

            OR T1.FLOOR_NAME like '%'|| #PROPERTYNAME# ||'%'

            OR T1.OFFICE_NAME LIKE '%'|| #PROPERTYNAME# ||'%')

        </isNotEmpty>

一般来说,这样的形式,意思就是标签内部的or条件是作为一个整体的。所以一定要注意标签内容开始出的开始和结束的括号。

如果没有括号,生成的最后的SQL语句,这些条件都是独立的,当然就影响后续的查询结果了

猜你喜欢

转载自zengshaotao.iteye.com/blog/2389849