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

时间:2021-06-02 08:57:49

标签: java configuration mybatis

在 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 中?

或者这个有用的功能不可用的原因是什么?

1 个答案:

答案 0 :(得分:1)

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

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