数据准备
CREATE TABLE `test_idms` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, `age` int DEFAULT NULL, `del_flag` int DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
1 物理删除
var idArray = ids.split(‘,’);var re = db.table(“test_idms”).where().in(“id”, idArray).delete();//1.2re = db.update(“delete from test_idms where id in(#{idArray}) “)
2 逻辑删除
2.1 后端需要配置参数
* logic-delete-column:del_flag
magic-api.crud.logic-delete-column 逻辑删除列,在单表API中使用logic后,删除语句会转为update,查询语句会多拼接一个条件
*logic-delete-value: 1
magic-api.crud.logic-delete-column 逻辑删除值
var re = db.table(“test_idms”).logic().where().in(“id”, idArray).delete();return re
设置本查询是带有逻辑删除的,在执行delete方法时,会转换为update语句;也可以自己用update方式实现
2.2 可以通过update完成逻辑删除
re = db.update(“update test_idms set del_flag=1 where id in(#{idArray}) “)