mybatis和ibatis使用区别

<?xml version="1.0" encoding="UTF-8" ?> 

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" 

"http://ibatis.apache.org/dtd/sql-map-2.dtd" >

 <sqlMap namespace="userInfoMapper"> 

 <select id="selectUser" parameterClass="int" resultClass="mybatis.demo.UserInfo"> 

 select * from UserInfo where userid =#userid#

 </select> 

 </sqlMap> 

 

<?xml version="1.0" encoding="UTF-8" ?> 

 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 

 <mapper namespace="mybatis.demo.UserInfoMapper"> 

 <select id="selectUser" parameterType="int" resultType="mybatis.demo.UserInfo"> 

 select * from UserInfo where userid =#{userid} 

 </select> 

 </mapper> 

 

public interface UserInfoMapper { 

 public UserInfo getUserInfo(int userid); 

 }

 

1. 和全局配置文件一样,由于 DTD 约束发生变化,根元素也由原来的 <sqlMap> 调整为 <mapper>。

2. <select> 等元素的 parameterClass 属性改为了 parameterType 属性。

<select> 等元素的 resultClasss 属性改为了 resultType 属性。

<parameterMap> 等元素的 class 属性改为了 type 属性。

<result> 元素的 columnIndex 属性被移除了。

3. 嵌套参数由 #value# 改为了 #{value}。

4. <parameter> 等元素的 jdbcType 属性取值中,原来的 "ORACLECURSOR" 取值改为了现在的 "CURSOR","NUMBER" 取值改为了 "NUMERIC"。

5. 在 iBatis 中,namespace 不是必需的,且它的存在没有实际的意义;在 MyBatis 中,namespace 终于派上用场了,它使得映射文件与接口绑定变得非常自然。

6. 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,即:通过namespace实现*Mapper.java和*Mapper.xml的绑定。

7. 在In查询中,

Ibatis使用标签<iterate>,而mybatis使用标签<foreach>

8.Ibatis中,做查询时resultMap的字段要和查询结果一一对应

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值