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

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日志清清楚楚的,看不明白吗?