Springboot整合MyBatis(四:Mybatis的xml配配置文件,详细配置之类型别名(typeAliases))
程序员文章站
2022-03-08 15:45:13
...
类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。比如:我们不给java类型设置别名
<select id="getById" parameterType="int" resultType="com.osy.entity.User">
select id, name, age from user_info where id = ${id}
</select>
com.osy.entity.User这个全限定类名是很冗余的,但是如果我们配置了别名隐射,我们只需要写成user即可。
<select id="getById" parameterType="int" resultType="user">
select id, name, age from user_info where id = ${id}
</select>
配置别名的方式一:单个配置(不建议使用))
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="User" type="com.osy.entity.User"/>
</typeAliases>
这样在使用com.osy.entity.User的时候就可以改写成User。
配置别名的方式二:包配置(建议使用)
<typeAliases>
<package name="com.osy.entity"/>
<!--多个包就配置多个-->
</typeAliases>
配置别名的方式三:注解配置(不建议使用)
@Alias("user")
public class User {}
这种也是数据单个配置,重复工作量比较大,也不建议使用
对于一些基本类型,他们的包装类,以及他们的扩展类型,Mybatis都做了其别名映射,
以及object、map、hashmap、list、arraylist、collection、iterator,都做了别名映射,所以我们遇到这些类型,我们就不用做别名映射了。