前两篇文章介绍了mybatis如何使用,这篇文章简单解释下xml文件中各标签的意义。
映射文件
在此,咱们仅以前两篇博文中的代码为例,给出映射文件 Mapper.xml 的总结:
① 设置 namespace 命名空间,目的是为了区分映射文件中的方法;
② 结果集 resultMap 是 MyBatis 最大的特色,对象的 ORM 就由其来转换:
- 在结果集中,包括主键 id 和 普通属性 result;
- 在结果集中,常用的两个属性分别为:property,表示实体的属性;column,表示 SQL 查询的结果集的列。
③ 在映射文件中,常用的标签有四个,分别为: select、insert、update 和 delete:
- 每个标签中都有 id 属性,在同一个 mapper 文件中 id 不允许重复;
- 参数 parameterMap 已经被废弃,现在其存在的目的就是为了兼容前期的项目;
- 参数 parameterType 支持很多的类型,例如 int、Integer、String、Double、List、Map 或者实体对象等;
- 返回值 resultType 用于简单的类型;
- 返回值 resultMap 用于复杂的类型;
- 当参数和返回值是集合的时候,其声明的是集合中的元素类型;
- SQL 语句不区分大小写,它默认使用 PrepareStatement,预编译,可以防止 SQL 注入。
④ 获取参数的方法为 #{ 字段名 }
Sql标签
当多处调用相同的字段时,可以使用 Sql 标签,完成底层的字符串拼接
赋别名
<typeAliases>
<!-- 其实就是将bean的替换成一个短的名字-->
<typeAlias type="com.cx.pojo.User" alias="User"/>
</typeAliases>