当前使用版本(必填,否则不予处理)

3.2.0

该问题是如何引起的?(确定最新版也有问题再提!!!)

重现步骤(如果有就写完整)

1.测试方法内容 public void test(){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.set("result", "result") .set("unit","unit") .set("range", "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 updateWrapper)方法;