在基于Spring Boot和MyBatis-Plus的开发过程中,开发者可能会遇到各种各样的报错信息。这些报错信息可能会让人感到困惑,尤其是对于初学者来说。本文将总结一些常见的报错信息,并提供相应的解决方案,帮助开发者快速定位和解决问题。

报错信息

  1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

这个错误通常是由于MyBatis无法找到对应的Mapper接口中的方法。可能的原因包括:

  • Mapper接口没有使用@Mapper注解或没有在Spring Boot启动类上使用@MapperScan注解。

  • Mapper XML文件中的namespace或id与接口方法不匹配。

  • Mapper XML文件没有正确放置在resources目录下,或者没有正确配置mybatis.mapper-locations。

解决方案
确保Mapper接口上使用了@Mapper注解,或者在启动类上使用了@MapperScan注解。
检查Mapper XML文件中的namespace和id是否与接口方法匹配。
确保Mapper XML文件放置在resources目录下,并在application.properties或application.yml中配置mybatis.mapper-locations。
2. java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for xxx
原因分析
这个错误通常是由于MyBatis无法找到对应的SQL映射语句。可能的原因包括:

Mapper XML文件中的SQL语句ID与接口方法名不匹配。

Mapper XML文件没有正确加载。
解决方案
检查Mapper XML文件中的SQL语句ID是否与接口方法名一致。
运行 HTML
确保Mapper XML文件已经正确加载,可以通过在application.properties或application.yml中配置mybatis.mapper-locations来指定Mapper XML文件的位置.

  1. Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'id' at row 1
    错误原因:实体类的id属性没有设置主键自增
    解决方案:在实体类的id(主键)属性上加上@TableId(value = "id",type = IdType.AUTO)注解,表示 --> AUTO:利用数据库的id自增长.