当前使用版本(必填,否则不予处理)
3.4.3.3
该问题是如何引起的?(确定最新版也有问题再提!!!)
插入或更新的字段有 空字符串 或者 null,使用方式三: UpdateWrapper (3.x)
mapper.update(
null,
Wrappers.<User>lambdaUpdate()
.set(User::getAge, 3)
.set(User::getName, "mp")
.set(User::getEmail, null) //把email设置成null
.eq(User::getId, 2)
);
结果出现空指针
重现步骤(如果有就写完整)
报错信息
Cause: java.lang.NullPointerException
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy142.update(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)
at com.sun.proxy.$Proxy161.update(Unknown Source)
Comment From: miemieYaho
来个demo
Comment From: JkingShui
来个demo
demo不太好给,复现步骤随便找个项目直接掉update,第一个参数传null就行mapper.update( null, Wrappers.<User>lambdaUpdate() .set(User::getAge, 3) .set(User::getName, "mp") .set(User::getEmail, null) //把email设置成null .eq(User::getId, 2) );
Comment From: miemieYaho
你说的我们都有test并没有异常