如何在 MyBatis 配置中添加通配符映射器路径?

How to add wildcarded mapper paths in MyBatis configuration?

在 MyBatis 中 documentation 我只看到按确切名称添加映射器的示例。

<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>

指定每个映射器名称看起来很冗长,我想知道是否有办法像这样对通配符执行相同的操作:

<mappers>
  <mapper resource="org/mybatis/builder/*Mapper.xml"/> 
</mappers>

mybatis-spring-boot-starter 他们有一个 属性 mybatis.mapper-locations 可以按如下方式使用:

mybatis.mapper-locations=classpath:org/mybatis/builder/*Mapper.xml

唯一的缺点是它涉及大量代码和 Spring 自动配置魔法。

是否可以使用 MyBatis 本身(没有 Spring 依赖项)将通配符映射器路径添加到配置 xml 中?

或者为什么这个有用的功能不可用?

从同一个文档页面 - 您可以注册一个包,包中的所有接口都将被注册。这比单独注册映射器要简洁得多:

<!-- Register all interfaces in a package as mappers -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>