ibatis框架怎么进行并列条件判断?

TheDisguiser 2020-07-24 18:32:00 java常见问答 7190

在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架构师还有不了解的疑问,可以来我们网站了解详情。

推荐阅读:

mybatis相对于ibatis的优势是什么?

ibatis调用存储过程如何实现?

ibatis框架是mybatis吗?有什么区别?