用过mybatis的应该都知道,无论是使用resultType映射查询到的结果集到一个实体类,还是使用parameterType基于Java Bean为SQL脚本传参,都需要使用完全限定名(包名+类名)来指定引用了哪个Java Bean,否则启动时会抛异常,提示找不到类。但是有些包名很长的,每次配置完全限定名就会显得很长很麻烦,如下:
<select id="getUser" resultType="com.wiener.study.pojo.User" parameterType="int">
</select>
我们可以通过type-aliases-package定义一个全限定名的别名来解决这个问题。
设置类别名
设置别名只需要在application.properties(yml)中指定别名扫描路径即可:
mybatis:
type-aliases-package: com.wiener.demo.study.pojo # 具体到User类所在的目录
项目启动的时候,mybatis会自动扫描指定包及其子包下的所有实体类并将别名装配到上下文中,默认别名是类名和类名首字母小写。例如,项目包含多个模块,每个模块(例如 study)都有自己的pojo,扫描多个包可以只写到模块的父级目录。