數(shù)據(jù)準(zhǔn)備
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 后端需要配置參數(shù)
* logic-delete-column:del_flag
magic-api.crud.logic-delete-column 邏輯刪除列,在單表API中使用logic后,刪除語句會轉(zhuǎn)為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
設(shè)置本查詢是帶有邏輯刪除的,在執(zhí)行delete方法時,會轉(zhuǎn)換為update語句;也可以自己用update方式實(shí)現(xiàn)
2.2 可以通過update完成邏輯刪除
re = db.update(“update test_idms set del_flag=1 where id in(#{idArray}) “)