今天在做项目,sql语句比较复杂,所以使用了xml自定义SQL进行查询,奈何一直报错
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zyh.springboot.mapper.BorrowMapper.findList
网上找了好多方法,还是云里雾里的,因为不知道项目的目录,导致文件路径写的不正确,今天整理一份,帮助大家的同时也给自己留个备份.
1,首先,请看我的项目目录,我的xml文件放在mapper/xml之下
2,在application.yml新增如下内容.很多同学其实在项目初就添加了mybatis-plus,那就在最后添加
mapper-locations: classpath:/com/zyh/springboot/mapper/xml/.xml.
此处注意:包之间不是用.链接,比如com.zyh.springboot 这样是不正确的
大家可以看到,我的mapper-locations路径就是我的xml的路径
#打印sql语句
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true # 开启驼峰命名
type-aliases-package: com.zyh.springboot.entity
mapper-locations: classpath*:/com/zyh/springboot/mapper/xml/*.xml
3,在pom.xml的<build>添加xml资源.这一步很重要,不添加,也是一直报错.
这个不用管路径,只需要填写*/.xml 即可
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<!--引入mapper对应的xml文件-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
4,保存代码,运行环境,可以找到mapper了.
网友评论