在ibatis中,并列条件判断是比较考验能力的一个基础,小伙伴们知道它要怎么实现吗?下面就一起来看看。
<!--ibatis因为对比JDBC的优势之一,安全且高效--> < select id ="selectAllProducts" parameterClass ="Product" resultMap ="ProductResult" > select id,note from Product < dynamic prepend ="WHERE" > <!-- isNotNull判断参数是否存在,Integer类型 --> < isNotNull property ="id" > <!-- isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于 --> < isGreaterThan prepend =" and " property ="id" compareValue ="0" > id = #id# </ isGreaterThan > </ isNotNull > <!-- isNotEmpty判断字串不为空,isEmpty可以判断字串为空 --> < isNotEmpty prepend =" and " property ="note" > <!-- 模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换 --> note like '%$note$%' </ isNotEmpty > </ dynamic > </ select > 用Map传参数 < select id ="selectAllProducts" parameterClass ="java.util.HashMap" resultMap ="ProductResult" > select id,note from Product < dynamic prepend ="WHERE" > <!-- isPropertyAvailable判断属性是否有效 --> < isPropertyAvailable property ="id" > < isNotNull property ="id" > <!-- isLessThan判断参数是否小于compareValue,isLessEquals是小于等于 --> < isLessThan prepend =" and " property ="id" compareValue ="10" > id = #id# </ isLessThan > </ isNotNull > </ isPropertyAvailable > </ dynamic > </ select > <!-- ------------------------------------------------------------------几个常用属性 --> < isPropertyAvailable > 属性是存在 < isNotPropertyAvailable > 属性不存在 < isNull > 属性值是null < isEmpty > 判断Collection.size < 1 或String.length()<1 <isEqual > 等于 < isNotEqual > 不等于 < isGreaterThan > 大于 < isGreaterEqual > 大于等于 < isLessThan > 小于 < isLessEqual > 小于等于
以上就是今天的全部内容了,如若对java架构师还有不了解的疑问,可以来我们网站了解详情。
推荐阅读: