Invalid bound statement

前言

前不久在一个新项目上整合mybatis-plus遇到了一个问题,这个项目之前用的是mybatis,写个简单的crud还得写sql,非常的步方便,还容易出错,有时查询会漏掉参数,或者更新时漏调参数,各种问题,所以把mp集成了一下,我是按照mp官网的快速配置做的,但是配置后启动直接报错Invalid bound statement,下面记录下如果解决这个报错

解决

依赖引入基本上不会有问题,依赖引入一个即可

1
2
3
4
5
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>

但是快速入门却没有指明需要配置以下参数

1
2
mybatis-plus.mapper-locations=classpath:com/dhsr/wx/mapper/xml/*.xml
mybatis-plus.type-aliases-package=com.dhsr.wx.entity

第一行是配置xml的路径,尤其xml不在resource目录下的一定记得要配置,不然找到不到xml,就会报这个错

第二行是指定数据库实体类的存放位置,这个也一定要配置,避免出奇怪的报错

结语

加上这两行后问题解决,mybatis和mp可以共存,共同使用,非常推荐在项目上使用mp,一是crud不容易出错,不会出现漏掉了哪个字段这种问题,二是开发速度快,如果手写sql,你得先在navicat等数据库工具上执行下,看看有没有报错,是否是预期的结果才能运行项目