mybatis

本文介绍IBATIS中动态SQL的使用方法,包括如何利用<isNotEmpty>等标签实现条件拼接,以及如何配置<resultMap>进行结果映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<resultMap id="ConditionOneResult" class="SearchConditionOneList">

  <result property="id" column="ID"/>

  <result property="name"  column="NAME"/>

  <result property="value"  column="VALUE"/>

  <result property="showType" column="SHOW_TYPE"/>

<result property="type" column="TYPE"/>

<result property="order"  column="SN" nullValue="000"/>

</resultMap>

用来映射查询语句的

 

<dynamic prepend="WHERE">

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

    (name like #name#)

  </isNotEmpty>

 

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

    (address like #address#)

  </isNotEmpty>

</dynamic>

其中WHERE 之后的语句是在dynamic节点中所定义,因此以dynamic节点的prepend设置("WHERE")作为前缀,而其中的

“AND”,实际上是address属性所对应的isNotEmpty节点的prepend设定,它引领了对应节点中定义的SQL子句。至于name

属性对应的isNotEmpty节点,由于ibatis会自动判断是否需要追加prepend前缀,这里(name like #name#)是Where子句中

的第一个条件子句,无需AND前缀,所以自动省略。

 

一元

<isPorpertyAvailable>参数类中是否提供了此属性

<isNotPropertyAvailable>与<isPropertyAvailable>相反

<isNull>属性值是否为NULL

<isNotNull>与<isNull>相反

<isEmpty>如果属性为Collection或者String,其size是否小于1,如果非以上两种类型,则通过String.valueOf(属性值)获得其

String类型的值后,判断其size是否小于1.

<isNotEmpty>与<isEmpty>相反

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值