我在3.4.3.3用updateById()可以更新typeHandler的字段, 但LambdaUpdateWrapper还是不生效,上文提到的el annotation参数也不见了。。。
// works
PluginRelease pluginRelease = findOrFail(id);
pluginRelease.setLastPublishTime(LocalDateTime.now());
updateById(pluginRelease)
// not works
LambdaUpdateWrapper<PluginRelease> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(PluginRelease::getId, id)
.set(PluginRelease::getLastPublishTime, LocalDateTime.now());
getBaseMapper().update(null, updateWrapper);
Originally posted by @ninjachen in https://github.com/baomidou/mybatis-plus/issues/794#issuecomment-1332093800
Comment From: JacksonChen-czc
lambdaUpdate() 无法更新Json字段,会抛出一下异常: Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
https://github.com/baomidou/mybatis-plus/issues/3317 给出的答案无法使用,.set()方法没有输入typeHandler的重载,无法通过编译
lambdaUpdate()是否可以增加对Json对象映射的兼容? 我使用的版本是3.4.2
@Data
@TableName(value = "xxxxxxxx", autoResultMap = true)
public class XXXXxxxxConfig implements Serializable {
@TableField(value = "xxx_data", typeHandler = FastjsonTypeHandler.class)
private XxxxData xxxData;
}
Comment From: miemieYaho
查看set的入参,使用带有mapping入参的方法
Comment From: qmdx
up mapping 映射 typeHandler 处理