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映射器文件中的名称空间和映射器接口的包不匹配。