Mybatis的真正强大之处在于它的语句映射。他即可以自动的映射数据库中的字段和对象的属性。
1.cache:改命名空间的缓存配置
2.cache-ref:引用其他命名空间的缓存配置
3.resultMap:描述如何从数据库结果集中加载对象,是最复杂、最重要同样最强大的元素。(重点重点重点)
4.sql:可被其他语句引用的可重用语句块
5.insert、update、delete、select:分别是映射插入、更新、删除、查询操作语句。
constructor:用于在实例类时,注入结果到构造方法中
idArg:ID参数;标记出作为ID的结构可以帮助提高整体性能
arg:将被注入到构造方法的一个普通结果。
id:一个ID结果;标记出作为ID的结果可以帮助提高整体性能
result:注入到字段或javaBean属性的普通结果
association:一个复杂类型的关联;许多结果将包装成这种类型
嵌套结果映射-关联可以是resultMap元素,或是对其他结果映射的引用
**collection_**一个复杂类型的集合
嵌套结果映射-集合可以是resultMap元素,或是对其他结果映射的引用
discriminator:使用结果值来决定使用那个resultMap
case:基于某些值得结果映射
嵌套结果映射-case也是一个结果映射,因此具有相同得结构和元素;或者引用其他得结果映射。
ResultMap的属性列表
这些元素是结果映射的基础。id和result的元素都将一个列的值映射到一个简单数据类型的属性或者字段
这两者之间唯一不同的是,id元素对应的属性会被标记为对象的标识符,在比较对象实例时使用。这样可以提高整体的性能,尤其是进行缓存和嵌套结果映射的时候
id和Result的属性
1.1jdbcType支持的JDBC类型
关联元素处理有一个类型的关系。比如:在我们的实例中,一个博客有一个用户。关联结果映射和其他类型的映射工作方式差不多。你需要指定目标属性名以及属性的javaType(很多时候Mybatis可以自己推断出来),在必要的情况下还可以设置JDBC类型,如果你想覆盖获取结果值得过程,还可以设置类型处理器。