如何使用通配符加载映射器 xml 文件?

How to load mapper xml files with wildcard?

Mybatis(ibatis) 可以加载 typeAlliasespackage as

<typeAliases>
   <package name="com.my.example.bean"/> 
</typeAliases>

如果是这样,我怎样才能同时加载映射器 xml 文件?我讨厌我总是需要为每个新的 xml 映射器文件添加 mybatis-config.xml 作为

<mappers>
    <mapper resource="mybatis/mapper/A.xml" />
    <mapper resource="mybatis/mapper/B.xml" />
    <mapper resource="mybatis/mapper/C.xml" />
    <mapper resource="mybatis/mapper/D.xml" />
  .......
</mappers>

我想使用通配符“*.xml”作为

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

如何实现?

MyBatis 也可以从包中加载映射器(接口),参见 documentation.

<mappers>
  <package name="org.mybatis.builder"/>
</mappers>

当然,这似乎要求您也有接口,而不仅仅是 xml 文件。不过,如果您没有接口,不知道有什么方法可以加载所有 XML 文件。

我今天遇到了同样的问题,我已经用通配符解决了。

是否有用于配置 sqlSessionFactory 的 xml 文件 bean.append a 属性 like <property name="mapperLocations" value="classpath:sqlmap/**/*Mapper.xml"/> ,

classpath:sqlmap/**/*Mapper.xml是你mapper.xml的位置,删除所有mapper资源,仅此而已。