MyBatis:自动扫描类型别名

MyBatis: Autoscan for type aliases

我有一个包含此条目的 MyBatis mapper.xml 文件:

<select id="findAll"
            resultType="User">
...
</select>

... "User" class 在此包中:

com.company.model.User

... 在 application.properties 中我有这个条目:

mybatis.type-aliases-package = com.company.model

一切正常。

在重构和移动一些 classes 到子包之后,MyBatis 在自动扫描期间无法再找到它们。

包结构现在是这样的:

com.company.entity.users.User
com.company.entity.departments.Department
com.company.entity.students.Student

我已经尝试过(在许多其他变体中:使用“/”而不是“.”,不使用 'classpath:',等等):

mybatis.type-aliases-package = classpath:com.company.entity.*

但无法让它工作。

如何让MyBatis扫描包"com.company.entity"下的所有子包?

根据Mybatis configuration,您可以使用分隔符来分隔您需要的包。 这些是分隔符:

",; \t\n"

那么您可以通过以下方式设置:

mybatis.type-aliases-package = com.company.entity.users,com.company.entity.departments,com.company.entity.students

尝试

mybatis.type-aliases-package = com.company.entity.**

它将包括包 'entity' 下的所有 class 以及类型别名下的所有 class。