iBatis向MyBatis 之SQL转换要点

前言

他们都是优秀的持久层框架,MyBatis是现在最常用的持久层框架,可以动态地拼接sql语句,非常人性化,更适合逻辑复杂的sql;iBatis就是MyBatis前身,他们有很多相似的地方。

  1. 传入参数
    iBatis: <select id="selectDeviceByWhere" parameterClass="Map" resultClass="BaseResultMap"> </select>
    MyBatis:<select id="selectDeviceByWhere" parameterType="Map" resultMap="BaseResultMap"> </select>
  2. 接收参数
    IBatis: 是使用 #参数#
    MyBatis: 是使用 #{参数 }
  3. 判断、循环语句
  • 在IBatis中:
<isNotEmpty property="accountType" prepend="and">
	<iterate property="accountType"  prepend="" open="((" close="))" conjunction=") OR (">
		<isEqual property="accountType[]" compareValue="bj">
			COSTTYPE='prin'
		</isEqual>
		<isEqual property="accountType[]" compareValue="sy">
			COSTTYPE='profit'
		</isEqual>
		<isEqual property="accountType[]" compareValue="fy">
			COSTTYPE<>'prin' AND COSTTYPE<>'profit'
		</isEqual>
	</iterate>	
</isNotEmpty>
  • 在MyBatis中:
<if test="accountType!=null and accountType!=''">
	and 
	<foreach collection="accountType" item="cp" open="((" close="))" separator=") OR (">
		<if test="cp=='bj'.toString()">
			COSTTYPE='prin'
		</if>
		<if test="cp=='sy'.toString()">
			COSTTYPE='profit'
		</if>
		<if test="cp=='fy'.toString()">
			COSTTYPE!='prin' AND COSTTYPE!='profit'
		</if>
	</foreach>	
</if>

小结:

以上便是两者转换时,需要注意之处,仅供参考,如有不妥,欢迎留言指教。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值