今天做了一个子父表的用例:一级栏目表和二级栏目表,一级栏目下包含多个二级栏目,一对多连接,中间使用关联表,全程使用Navicat创建。
因为MybatisPlus默认是单一主键操作,还没有针对联合主键的操作,这里以删除二级栏目为3的用记录为例子,逻辑是删除二级栏目数据库中的记录之前,先删除关联表中的menu_one_Id = 1,menu_two_id = 3的记录,使用MybatisPlus中提供的BaseMapper中的默认方法deleteById
数据库执行代码如下:
我这里推测还是因为MybatisPlus还是会默认选择Navicat中设置联合主键标号为1的为唯一主键,所以默认方法是将传值的id默认传给标号1主键menu_one_id
这里如果强制使用LambdaWrapper条件构造器,也无法达到效果,甚至报错
解决办法也很简单,自定义Mapper方法即可
最终结果如下