场景:
表:province_black_list
字段 id name
数据 1 张三
现在接口传参数据为id =1,name=“李四”
现在想根据id=1进行数据更新
如果将 “name” 更新为 “张三,李四”,可以使用 Mybatis Plus 的 setSql 方法来实现拼接更新。以下是示例代码:
LambdaUpdateWrapper<ProvinceBlackList> wrapper = new LambdaUpdateWrapper<>();
wrapper.setSql("name = CONCAT(name, ',李四')"); // 使用 CONCAT 函数进行字符串拼接
wrapper.eq(ProvinceBlackList::getId, id);
this.update(wrapper);
在这个示例中,我们使用了 setSql 方法来指定要执行的 SQL 更新语句,使用 CONCAT 函数将原来的 “name” 字段值与新值 “李四” 进行拼接。这样就可以实现将 “name” 更新为 “张三,李四”。
用sql实现:
UPDATE province_black_list
SET name = CONCAT(name, ',李四')
WHERE id = 1;
在这个 SQL 语句中,我们使用了 CONCAT 函数将原来的 “name” 字段值与新值 “李四” 进行拼接,并将结果更新到 “name” 字段中。然后通过 WHERE 子句筛选出要更新的记录,条件是 “id” 等于 1。