使用lambda 表达式配置mybatisplus 删除附表数据 切判断主表和附表关联的id 对应的日期
时间: 2024-03-21 18:38:02 浏览: 127
好的,关于您的问题,可以使用 LambdaWrapper 配置 mybatisplus 进行删除操作。具体示例代码如下:
```java
// 构建 LambdaWrapper,设置删除条件
LambdaQueryWrapper<MainTable> mainWrapper = new LambdaQueryWrapper<>();
mainWrapper.eq(MainTable::getId, mainId);
// 获取主表实体对象
MainTable mainTable = mainTableMapper.selectOne(mainWrapper);
// 判断主表是否存在
if (mainTable != null) {
// 获取主表对应的日期
LocalDate mainDate = mainTable.getDate();
// 构建 LambdaWrapper,设置删除条件
LambdaQueryWrapper<SubTable> subWrapper = new LambdaQueryWrapper<>();
subWrapper.eq(SubTable::getMainId, mainId);
subWrapper.eq(SubTable::getDate, mainDate);
// 删除附表数据
subTableMapper.delete(subWrapper);
}
```
其中,`MainTable` 和 `SubTable` 分别表示主表和附表对应的实体类。`mainTableMapper` 和 `subTableMapper` 则分别为对应的 Mapper 接口。`mainId` 为主表的 id 值。
上述代码中,首先根据主表的 id 值查询出对应的实体对象,然后判断主表是否存在。如果主表存在,则获取主表对应的日期。接着,构建 LambdaWrapper 对象,设置删除条件,即删除附表中主表 id 和日期相同的数据。最后,通过 subTableMapper 的 delete 方法进行删除操作。
希望这个回答能够帮到您!
阅读全文