Magic-API数据库删除操作

数据准备

 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}) ")

3 总结

支持物理删除,逻辑删除,操作比较简单。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章