前述
mapper中的接口文件与xml文件是否一定要同名的问题,要分为两种情况:
(1)如果接口文件与xml文件在同一个包的同一级目录时,为了实现自动映射,则需要严格名称一致;
(2)其余情况则不必严格一致(不过个人认为最好还是名称一致)。
正题
(1)当mapper中的接口文件与xml文件在不同包下,如接口文件在src/main/java包内,xml文件在src/main/resources包内,结构如下所示:
这时就需要在application.yml文件中进行如下配置:
mybatis-plus:
mapper-locations: classpath:xmls/*.xml
(2)当mapper中的接口文件与xml文件在同一个包下,如两文件都在src/main/java包内;结构如下:
这时就需要在application.yml文件中进行如下配置:
mybatis-plus:
mapper-locations: classpath:com/learn/shiro/mapper/xmls/*.xml
# com/learn/shiro为父级包名
两种情况之所以不同,是由于classpath中的文件目录结构决定的。
思考:如何配置多个路径?
mybatis-plus:
mapper-locations: classpath:com/learn/shiro/mapper/xmls/*.xml,classpath:xmls/*.xml
#两个路径中间用","号隔开即可。