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。
我有一个包含此条目的 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。