当前使用版本(必填,否则不予处理)
3.2.0
该问题是如何引起的?(确定最新版也有问题再提!!!)
重现步骤(如果有就写完整)
1.测试方法内容
public void test(){
UpdateWrapperrange", "range")
.set("result_symbol", "result_symbol")
.eq("test_group_id", 7105)
.eq("item_code", 170);
peisTestResultService.update(updateWrapper);
}
2.实体类 @Data @TableName("peis_test_result") public class PeisTestResultEntity implements Serializable { private static final long serialVersionUID = 1L;
@TableId
private Integer id;
private Integer areaCode;
private Integer testGroupId;
private String testNo;
private Integer groupCode;
private Integer itemCode;
private String itemName;
private String result;
private String resultValue;
@TableField(value = "`range`")
private String range;
private String unit;
private String resultSymbol;
private String color;
private Boolean isAbnormal;
private Boolean isAbandon;
}
3.理想正确sql
update peis_test_result set result= ?, unit = ?,range = ?,result_symbol = ?
WHERE test_group_id = ? and item_code = ?;
报错信息
-- 34431 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@387c844a] 2020-04-30 17:23:08.914 [http-nio-8860-exec-5] ERROR com.jfsoft.common.exception.GlobalExceptionHandler:43 - 系统内部异常,异常信息 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'color' not found. Available parameters are [ew, param1, et, param2] at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:78) update peis_test_result set color = ?, is_abnormal = ?, result_symbol = ? WHERE test_group_id = ? and item_code = ?;
Comment From: miemieYaho
给出你的复现demo
Comment From: warmchuang
这个问题是出现在一个项目里,只有调用这个service的方法的update方法出现问题,其他的service的update方法没有问题,检查了实体类、mapper、service类没有发现什么异常的部分。
Comment From: warmchuang
今天测试了下,直接把这个实体类、service、mapper拿出来调用没有复现那个问题,有什么能影响UpdateWrapper值的因素吗?因为断点调试的时候到执行update方法前 updateWarpper的值设置的是正确的,但是执行update方法的时候updateWrapper就变成固定的值了。
Comment From: miemieYaho
自己排查吧
Comment From: liguanqiao
我也遇到这个问题了,应该是你的serviceImpl里有"boolean update(type color);"这样会实现com.baomidou.mybatisplus.extension.service.impl.ServiceImpl里面default boolean update(Wrapper