iBatis持久层框架


一、iBatis

1、ibatis的历史

  • 由Clinton Begin在2001年发起
    iBatis 自从在Apache软件基金会网站上发布至今,和他的明星兄弟们(Http Server,Tomcat,Struts,Maven,Ant等等)一起接受者万千 Java 开发者的敬仰。然而在当时,几乎是发布 3.0版本的同时,iBatis主页上的一则Apache iBATIS has been retired(退休)的声明在社区引起了一阵不小的波澜。

  • 在Apache寄居六年之后,iBatis将代码托管到Google Code。在声明中给出的主要理由是,和Apache相比,Google Code更有利于开发者的协同工作,也更能适应快速发布。2010年6月16号被谷歌托管 ,iBatis 更名为 MyBatis

2、ibatis是什么

iBATIS的是一个“半自动化”ORM的持久层框架,

二、iBatis的特点

  1. 简单 iBATIS的被广泛认为是可用的最简单的持久化框架之一。学习成本低。
  2. 跨平台性高大部分语言都支持
  3. 支持动态SQL
  4. 支持存储过程
  5. 支持内嵌的SQL,预编译器不是必需的,并有完全访问所有的SQL语句的特性。

三、iBatis的具体使用过的操作

1.不等于06的话怎么怎么

<isNotEqual prepend ="and" property ="progressBit" compareValue ="06" > 
                PROGRESS_BIT = #progressBit#
   </isNotEqual>

2. 动态模糊查询

<isNotEmpty prepend=" AND " property="materialsName"><!-- 物料名称条件-->
            MATERIALS_NAME like '%$materialsName$%'
        </isNotEmpty>

3. 动态多条件查询 in

<dynamic>  
        <isNotNull property="ids" prepend="and">  
        id not in   
        <iterate property="ids" conjunction="," open="(" close=")">  
                    #ids[]#  
            </iterate>  
        </isNotNull>  
    </dynamic>

使用dynamic的时候注意空格,如:site前无空格(或换行)时会出错。

<dynamic>  
<isNotNull property="siteName" prepend="and"> site = #siteName# </isNotNull>                    
</dynamic>

4. 如果a等于b怎么做,等于c怎么做

<isNotEmpty   property="a">
            <isEqual prepend=" AND " property="a"  compareValue="b">
               data = #a#
            </isEqual>
            <isEqual prepend=" AND " property="a"  compareValue="c">
                data = #a#
            </isEqual>
        </isNotEmpty>

5,等于空为

<isEmpty prepend="AND "  property="planId">
			PLAN_ID = ''
</isEmpty>

6、iBatis中in条件的严谨写法(list为空的情况)

 <isPropertyAvailable prepend="or" property="itemIdList">
        <isNotEmpty    property="itemIdList">
                  ( A.ITEM_ID in
            <iterate property="itemIdList" open="(" close=")" conjunction=",">
                 #itemIdList[]#
            </iterate>  and   A.COMPANY_CODE = #companyCode# )
        </isNotEmpty>
        </isPropertyAvailable>

7、小于等与时需要转义符

    <![CDATA[ 这里写你的sql ]]>  

参考文章

个人笔记,不同意见,望有交流
直接可以点击跳转连接

作者:爱吃牛肉的大老虎: iBatis详解以及和MyBatis区别

作者:ibatis动态sql

作者 : 光阴迷客 :iBatis中in条件的严谨写法(list为空的情况)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Network porter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值