当前使用版本(必填,否则不予处理)
3.1.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
使用updateWrapper的in方法填写更新条件,更新失败
重现步骤(如果有就写完整)
代码:
ClientInfoEntity clientInfoUpdateEntity = new ClientInfoEntity();
clientInfoUpdateEntity.setSealBatchId(sealBatchId);
clientInfoUpdateEntity.setApplyStatus(SwanConstant.APPLY_STATUS_TO_BE_SEALED);
clientInfoUpdateEntity.setUpdateTime(DateTime.now().toString(DatePattern.PURE_DATE_FORMAT));
UpdateWrapper<ClientInfoEntity> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda()
.eq(ClientInfoEntity::getApplyStatus, SwanConstant.APPLY_STATUS_APPLIED)
.in(ClientInfoEntity::getClientInfoId, CollectionUtil.toList(reqDTO.getClientInfoIds()));
int update = clientInfoMapper.update(clientInfoUpdateEntity, updateWrapper);
日志输出update=0,无法根据条件更新
构造sql的日志:
==> Preparing: UPDATE CLIENT_INFO SET SEAL_BATCH_ID=?, APPLY_STATUS=?, UPDATE_TIME=? WHERE APPLY_STATUS = ? AND CLIENT_INFO_ID IN (?)
==> Parameters: 1367773005853364226(String), 2(Integer), 20210305(String), 1(Integer), 1366577075397464065,1365112576035393537(String)
<== Updates: 0
我根据这个构造的sql在数据库测试:
UPDATE CLIENT_INFO
SET SEAL_BATCH_ID='1367773005853364226',
APPLY_STATUS=2,
UPDATE_TIME='20210305'
WHERE APPLY_STATUS = 1
AND CLIENT_INFO_ID IN ('1366577075397464065', '1365112576035393537')
结果更新成功了,sql是没问题的。
是我updateWrapper的in方法赋值有问题吗?
报错信息
无
Comment From: nemowang
updateWrapper不能用in条件吗?
Comment From: miemieYaho
sql日志清清楚楚的,看不明白吗?