如何在 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>
在 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>