文章目录
一、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的特点
- 简单 iBATIS的被广泛认为是可用的最简单的持久化框架之一。学习成本低。
- 跨平台性高大部分语言都支持
- 支持动态SQL
- 支持存储过程
- 支持内嵌的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 ]]>
参考文章
个人笔记,不同意见,望有交流
直接可以点击跳转连接