MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。
SQL映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):1。cache – 给定命名空间的缓存配置。2。cache-ref – 其他命名空间缓存配置的引用。3。resultMap– 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。4。sql – 可被其他语句引用的可重用语句块。5。insert – 映射插入语句6.update – 映射更新语句。7。delete – 映射删除语句。8。select – 映射查询语句
主要说一下resultMap
resultMap 元素有很多子元素和一个值得讨论的结构。
constructor - 用于在实例化类时,注入结果到构造方法中
idArg - ID 参数;标记出作为 ID 的结果可以帮助提高整体性能
arg - 将被注入到构造方法的一个普通结果
id – 一个 ID 结果;标记出作为 ID 的结果可以帮助提高整体性能
result – 注入到字段或 JavaBean 属性的普通结果
association – 一个复杂类型的关联;许多结果将包装成这种类型
嵌套结果映射 – 关联可以指定为一个 resultMap 元素,或者引用一个
collection – 一个复杂类型的集合嵌套结果映射 – 集合可以指定为一个 resultMap 元素,或者引用一个
discriminator – 使用结果值来决定使用哪个 resultMap.
网友评论