强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan
需求描述
今日需求是删除资源时同时删除与该资源绑定的角色数据,有两张表,资源表、角色与资源绑定表,级联删除的时候有两种方法:①建立表时直接建立约束,当父表删除数据时数据库会自动去删除子表中的数据,②通过代码实现级联删除,先删除子表数据,然后删除父表中的数据。
通过数据库实现
可以参考博文:MySQL使用外键实现级联删除与更新的方法_Mysql_脚本之家
这种方式假如我们要删除父表的数据,子表的数据就会被删除,而我们的业务需求是表中是否删除由is_delete字段来标识,所以这种方式是可以实现级联表删除的,但是不符合我们的需求,在此只提供一种这样的思路。
通过代码实现
先写一个删除资源和角色绑定的接口:
/**
* 根据资源id删除相关的角色资源绑定数据
* @param applicationIds 资源ids
* @return 受影响行数
*/
int deleteByApplicationId(List<String> applicationIds);
<delete id="deleteByApplicationId">