一、前言
MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子 。我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样 。如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有 。而 ResultMap 就是 MyBatis 对这个问题的答案 。二、ResultMap 的属性列表属性描述id当前命名空间中的一个唯一标识,用于标识一个结果映射 。type类的完全限定名, 或者一个类型别名(关于内置的类型别名,可以参考上面的表格) 。autoMapping如果设置这个属性,MyBatis 将会为本结果映射开启或者关闭自动映射 。这个属性会覆盖全局的属性 autoMappingBehavior 。默认值:未设置(unset) 。extends可以继承其他resultMap的一些写好的属性三、resultMap标签介绍
- constructor - 用于在实例化类时,注入结果到构造方法中
- idArg - ID 参数;标记出作为 ID 的结果可以帮助提高整体性能
- arg - 将被注入到构造方法的一个普通结果
- id – 一个 ID 结果;标记出作为 ID 的结果可以帮助提高整体性能
- result – 注入到字段或 JavaBean 属性的普通结果
- association – 一个复杂类型的关联;许多结果将包装成这种类型嵌套结果映射 – 关联可以是 resultMap 元素,或是对其它结果映射的引用
- collection – 一个复杂类型的集合嵌套结果映射 – 集合可以是 resultMap 元素,或是对其它结果映射的引用
- discriminator – 使用结果值来决定使用哪个 resultMap
- case – 基于某些值的结果映射嵌套结果映射 – case 也是一个结果映射,因此具有相同的结构和元素;或者引用其它的结果映射
<resultMap id="UsersMap" type="com.wang.test.demo.entity.User"> <id property="id" column="id" jdbcType="INTEGER"/> <result property="username" column="username" jdbcType="VARCHAR"/> <result property="password" column="password" jdbcType="VARCHAR"/> <result property="role" column="role" jdbcType="VARCHAR"/> <result property="addTime" column="add_time" jdbcType="TIMESTAMP"/></resultMap>
经验总结扩展阅读
- 云顶之弈屠龙黯灵莉莉娅玩法是什么
- 剑与远征绿裔树奶赏金试炼之地路线怎么走
- 影之刃3织衣者怎么用
- 王羲之吃墨的故事有什么启发
- 未熟之玉有什么用
- 什么生肖是夫子之道
- 无主之城二二怎么死的
- 一 网络安全主动进攻之DNS基础和ettercap实现DNS流量劫持
- 原神寻星之旅第五天怎么通关
- 金铲铲之战S7.5金鳞龙阵容装备怎么搭配