Java MyBatis配置AddMappers(字符串packageName)

Java MyBatis配置AddMappers(字符串packageName),java,mybatis,Java,Mybatis,首先,我有这样一个java代码: Environment environment = new Environment("development", transactionFactory, dataSource); Configuration config = new Configuration(environment); 然后,我尝试使用addMappers(stringpackagename)添加映射器。 在该包中,包含一个SQLMap接口 config.a

首先,我有这样一个java代码:

Environment environment = new Environment("development",
                transactionFactory, dataSource);

Configuration config = new Configuration(environment);
然后,我尝试使用addMappers(stringpackagename)添加映射器。 在该包中,包含一个SQLMap接口

config.addMappers("com.test.mappers");
它很好用

但当我引用另一个项目时,该项目有一个名为“com.testtwo.mappers”的包,其中包含一个SQLMap接口,我尝试编写以下代码:

config.addMappers("com.testtwo.mappers");
我的配置不会加载其他项目中的所有接口SQLMap

我错过什么了吗

谢谢

简单地说 我想从另一个.jar的包中添加映射器


谢谢

您尝试过使用mybatis-config.xml吗

如中所述,您应该使用mybatis-config.xml,在其中您可以执行以下操作:

<mappers>
  <package name="com.testtwo.mappers"/>
</mappers>

找到了答案

我使用反射 基本上,我创建了一个接口BaseSQLMap,然后让我的所有SQLMap扩展BaseSQLMap

反射的代码是:

Set<Class<? extends BaseSQLMap>> subTypes = reflections
                        .getSubTypesOf(BaseSQLMap.class);

SetQuestion有点模糊,请解释一下“引用另一个项目”这是一个web项目。我所说的“引用另一个项目”是指,我将另一个项目导出到JAR中,并将其放入web项目的web-INF/lib中。您使用基于注释或基于xml的映射器文件我使用注释库您使用maven吗?