mybatis:使用带有XML配置的mapper接口来获取全局参数

我喜欢XML表示法来指定连接字符串等全局参数。 我也喜欢Mapper注释。 当我尝试将两者结合起来时,我得到了这个例外 。

有没有办法将两者结合起来? 我想使用XML文件进行全局配置,但mybatis会考虑使用Mapper接口。

问题是SqlSessionFactoryBuilder()。build()需要一个Reader(我想用它来传递XML配置),或者一个Configuration对象(我​​看到它有addMappers()方法可以帮助我) – 但我不明白如何将两者结合起来。

factory.getConfiguration().addMapper(...);

当您使用具有精确方法签名的抽象方法创建映射器接口时 ,将其作为xml中的sql。

例如。 这是包含实际查询的dao.xml的命名空间。

   

它将在com.mybatis.dao.EntityMapperInterface接口中映射

 public interface EntityMapperInterface { public List selectEmployeeWithId(Long id); 

Mybatis-config文件

    

你如何从Action类/ Servlet中调用它? 当你初始化SqlSession时,

 EntityMapperInterface emi = session.getMapper(EntityMapperInterface.class); List eList = emi.selectEmployeeWithId(1); 

我有同样的问题,因为mybatis映射器文件中的名称空间和映射器接口的包不匹配。