@Mapper和@MapperScan的区别
相同点:
都是对接口进行实现,但是对每一个类的接口实现都要加@Mapper,而@MapperScan只需要在入口类写一次就好,它十对包下所有的接口进行实现,很方便。
不同点:
mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件,如图中所示:扫描的是resources下的mapper文件夹中所有的xml结尾的文件。
注:如果全程使用@Mapper注解,可以不使用该配置,即@Mapper可以替代Mapper接口对应的*.xml文件,SpringBoot提倡“约定优于配置”
mybatis.mapper-locations=classpath:mapper/*.xml(application.properties,对于不同的包可能前缀名不一样,这个要注意,不然会出现xml文件和接口不匹配的问题)