mapper.xml的简介

mapper.xml文件代替了我们的dao层的实现类,它与接口实现绑定,我们把sql语句写在代码中就是硬编码,不利于后期的修改维护,但是mapp.xml解决了这一问题,把SQL语句提取出来下面我们先看一下常用的标签
<mapper namespace="cn.mapper.ClassMapper"> 这是关键标签,namespace属性必须要写,还要写对,它的值是对应接口的全路径,这是一个小技巧,这样可以实现与接口自动绑定,在这里有好多这样的命名技巧

<select id="" resultType="" parameterType=""  >
    <insert id=""></insert>
    <update id=""></update>
    <sql id=""></sql>

•select – 映射查询语句

这些标签的id命名都是对应接口的方法名,这也是命名技巧,这些标签中海油一些属性我从API上拿过来
-id 在命名空间中唯一的标识符,可以被用来引用这条语句。

-parameterType 将会传入这条语句的参数类的完全限定名或别名。

-resultType 从这条语句中返回的期望类型的类的完全限定名或别名。注意集 合情形,那应该是集合可以包含的类型,而不能是集合本身。使 用 resultType 或 resultMap,但不能同时使用。

-resultMap 命名引用外部的 resultMap。 返回 map 是 MyBatis 最具力量的特性, 对其有一个很好的理解的话, 许多复杂映射的情形就能被解决了。 使用 resultMap 或 resultType,但不能同时使用。

-flushCache 将其设置为 true,不论语句什么时候被调用,都会导致缓存被 清空。默认值:false。

-useCache 将其设置为 true, 将会导致本条语句的结果被缓存。 默认值: true。

-timeout 这个设置驱动程序等待数据库返回请求结果,并抛出异常时间的 最大等待值。默认不设置(驱动自行处理)

-fetchSize 这是暗示驱动程序每次批量返回的结果行数。默认不设置(驱动 自行处理)。

-statementType STA TEMENT,PREPARED 或 CALLABLE 的一种。 这会让 MyBatis 使用选择使用 Statement,PreparedStatement 或 CallableStatement。 默认值:PREPARED。

insert – 映射插入语句
•update – 映射更新语句
•delete – 映射删除语句

-useGeneratedKeys ( 仅 对 insert 有 用 ) 这 会 告 诉 MyBatis 使 用 JDBC 的 getGeneratedKeys 方法来取出由数据(比如:像 MySQL 和 SQL Server 这样的数据库管理系统的自动递增字段)内部生成的主键。 默认值:false。

-keyProperty (仅对 insert 有用) 标记一个属性, MyBatis 会通过 getGeneratedKeys 或者通过 insert 语句的 selectKey 子元素设置它的值。 默认: 不设置。

-keyColumn (仅对 insert 有用) 标记一个属性, MyBatis 会通过 getGeneratedKeys 或者通过 insert 语句的 selectKey 子元素设置它的值。 默认: 不设置。

<sql id="userColumns"> 这个标签相当于封装,它可以把我们常用的sql语句中的字段封起来,我们再使用用的时候直接使用incude标签引用即可<include refid="userColumns"/>

resultMap

•constructor - 类在实例化时,用来注入结果到构造方法中 ◦idArg - ID 参数;标记结果作为 ID 可以帮助提高整体效能
◦arg - 注入到构造方法的一个普通结果

•id – 一个 ID 结果;标记结果作为 ID 可以帮助提高整体效能
•result – 注入到字段或 JavaBean 属性的普通结果
•association – 一个复杂的类型关联;许多结果将包成这种类型 ◦嵌入结果映射 – 结果映射自身的关联,或者参考一个

•collection – 复杂类型的集 ◦嵌入结果映射 – 结果映射自身的集,或者参考一个

•discriminator – 使用结果值来决定使用哪个结果映射 ◦case – 基于某些值的结果映射 ◾嵌入结果映射 – 这种情形结果也映射它本身,因此可以包含很多相 同的元素,或者它可以参照一个外部的结果映射。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值