@mapper、@mapperscan、mybatis.mapper-locations:spring mybatis注解区别
在spring mybatis项目中,“@mapper”、“@mapperscan”和“mybatis.mapper-locations”这三个配置项对于指定mapper接口的位置有着不同的作用:
示例:
@mapper
public interface usermapper {
...
}@springbootapplication
@mapperscan("com.example.baseproject.mapper")
public class baseprojectapplication {
...
}问题的原因:
你遇到的报错是由于没有为mybatis指定xml映射文件的位置。当使用@mapper或@mapperscan时,mybatis会自动扫描项目中的指定路径下的mapper接口,但不会扫描xml文件。因此,你需要在配置文件中通过mybatis.mapper-locations属性指定xml文件所在路径。
正确配置:
mybatis.mapper-locations=classpath:mapper/*.xml
结论:
batis.mapper-locations,以便加载sql语句。