public boolean updateBusinessGroup(Long[] ids, String group, String groupName){
boolean flag = true;
try {
this.update(null, Wrappers
.<PropertyOpportunity>lambdaUpdate()
.set(PropertyOpportunity::getEmpNo, null)
.set(PropertyOpportunity::getEmpAccount, null)
.set(PropertyOpportunity::getEmpName, null)
.set(PropertyOpportunity::getGroupId, group)
.set(PropertyOpportunity::getGroupId, groupName)
.in(PropertyOpportunity::getId, ids));
} catch (Exception ex){
log.error("", ex);
flag = false;
}
return flag;
}
网上很多傻X用啥TableField(updateStrategy = FieldStrategy.IGNORED) 就不考虑别人局部更新会让这个值设为空了吗??
这个还需验证 本人还未测试完成 等测试完成待更新
updateBatchByQueryWrapper(list, propertyOpportunity->new QueryWrapper<>().eq("id", propertyOpportunity.getId()));
private boolean updateBatchByQueryWrapper(Collection<PropertyOpportunity> entityList, Function<PropertyOpportunity, QueryWrapper> queryWrapperFunction) {
String sqlStatement = this.getSqlStatement(SqlMethod.UPDATE);
return this.executeBatch(entityList, DEFAULT_BATCH_SIZE, (sqlSession, entity) -> {
MapperMethod.ParamMap param = new MapperMethod.ParamMap();
param.put(Constants.ENTITY, entity);
param.put(Constants.WRAPPER, queryWrapperFunction.apply(entity));
sqlSession.update(sqlStatement, param);
});
}