MyBatis是一款 Java 平台的优秀数据库映射框架,支持 XML 定义或注解,免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
针对 Spring 提供 Mapper 扫描注解:
集成 Spring Boot 时,可以通过 @MapperScan 注解,建议配置扫描的包路径,示例:
//扫描指定的两个包
@MapperScan({"org.nerve.boot.module", "org.appmeta.domain"})
通常情况下,Mybatis 会将扫描到的接口都动态创建实现对象,有可能会造成不必要的麻烦(如会出现多个接口实现 bean,在依赖注入时报错),此时可以配置只对特定注解类有效:
//org.appmeta.domain下只对添加 @Mapper 注解的接口有效
@MapperScans({
@MapperScan("org.nerve.boot.module"),
@MapperScan(value = {"org.appmeta.domain"}, annotationClass = Mapper.class)
})
完事收工