映射标签:
id:命名空间的唯一标识符,可以用来代表这条语句
resultMap:用于设置返回值得类型和映射关系。
select * from sys_user where id=#{id}
#{id}:Mybatis SQL 的一种预编译方式,大括号里是传入的参数名,
resultMap所有属性:
*
id 必填并且唯一。在select 标签中的,resultMap中配置的column 和 property 可以将查询列的值映射到type 对象属性值,
*
type 必填,用于适配java 对象类型
*
extends 选填,可以配置当前项目的resultMap 继承来自其他的reusltMap,属性值为继承resultMap 中的id
*
autoMapping:选填,可选值为flase 或者 true ,用于配置是否启用非映射字段,没有在rusltMap中配置的字段)的自动映射功能,该配置可以覆全局的autoMappingBehavior配置。
*
custructor:配置使用构造方法注入结果,可以包含以下两个子标签
idArg:id 参数,标记结果作为id(唯一值),可以提高帮助的整体性能。
Arg:注入到构造方法的一个普通结果。
*
id:一个id结果,标记结果作为id唯一值,可以帮助提高整体性能。
*
result:注入到java 对象属性的普通结果。
*
assoication:一个复杂的类型关联,将许多结果包成这种类型。
*
collection:复杂类型集合
*
discriminator;根据结果值来决定使用哪个结果映射。
*
case:基于某些值的结果映射
id 和 result 包含的标签属性:
column:从数据库中得到的别名,或者是列名。
property:映射结果的属性值,可以映射简单的属性"username" 等
javaType:一个java 类的全限定类名,或者一个类型的别名(通过typeAlias配置或者默认的类型) 如果映射到javaBean,Mybatis通常可以自动判断属性的类型, 如果映射到HashMap,则需要明确的指名javaType;
jdbcType:列对应的数据库类型,jdbc 类型仅仅需要对插入 更新 删除 操作可能为空的列 进行处理,这是JDBC jdbcType 的需要,而不是mybatis 的需要。