SpringBoot整合MybatisPlus绑定异常( org.apache.ibatis.binding.BindingException: Invalid bound statement ...

在SpringBoot应用中整合MyBatis-Plus(MP)时遇到一个异常,具体表现为`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)`,原因是实体类未正确标注主键字段。解决方法有两种:一是在实体类中使用@TableId注解明确主键;二是将主键字段名改为'id'。遵循这些步骤,可以避免MyBatis-Plus在尝试执行deleteById操作时找不到对应的SQL语句。

SpringBoot整合MP过程中报错

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.wjx.demo3_admin.Mapper.EmpMapper.deleteById
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) ~[mybatis-3.5.9.jar:3.5.9]
	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.<init>(MybatisMapperMethod.java:50) ~[mybatis-plus-core-3.5.1.jar:3.5.1]
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.lambda$cachedInvoker$0(MybatisMapperProxy.java:111) ~[mybatis-plus-core-3.5.1.jar:3.5.1]
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[na:1.8.0_301]
	at com.baomidou.mybatisplus.core.toolkit.CollectionUtils.computeIfAbsent(CollectionUtils.java:115) ~[mybatis-plus-core-3.5.1.jar:3.5.1]
...

原因:MP的deleteById根据主键进行删除,如果没有在实体类中用注解@TableId标注主键字段,那么该字段的名称必须为 id

解决1:实体类主键添加@TableId注解

@TableId
    private int eid;

解决2:实体类主键字段改名为 id

private int id;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值