不写触发器,可以怎样去实现这个逻辑
发布日期:2023-09-18 21:37:09
浏览次数:163
分类:精选文章
本文共 857 字,大约阅读时间需要 2 分钟。
如果你不想使用触发器,你可以在业务逻辑中手动检查行表的状态,并更新头表的状态。以下是一个示例: 1. 在执行完某些业务逻辑后,更新行表的状态为关闭: try (SqlSession session = sqlSessionFactory.openSession()) { MyMapper mapper = session.getMapper(MyMapper.class); // 更新行表的状态为关闭 mapper.updateLineTableStatus(headerId, "关闭"); // 检查行表的状态是否都为关闭 int lineCount = mapper.getLineTableCount(headerId); int closedCount = mapper.getClosedLineTableCount(headerId); // 如果行表的数量等于关闭状态的数量,则更新头表的状态为关闭 if (lineCount == closedCount) { mapper.updateHeaderTableStatus(headerId, "关闭"); } session.commit(); } catch (Exception e) { e.printStackTrace(); } 在上述示例中,我们首先使用`updateLineTableStatus()`方法将行表的状态更新为关闭。然后,我们使用`getLineTableCount()`方法获取行表的数量,使用`getClosedLineTableCount()`方法获取关闭状态的行表数量。最后,如果行表的数量等于关闭状态的数量,则使用`updateHeaderTableStatus()`方法将头表的状态更新为关闭。 你需要将`MyMapper`替换为你自己的Mapper接口,并确保在MyBatis配置文件中正确配置了Mapper接口的映射关系。同时,你需要根据需要修改参数的名称和值,并实现相应的Mapper接口方法。发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年09月27日 06时50分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
袋鼠云日志,日志分析没那么容易
2019-06-07
缓存穿透 缓存雪崩 缓存并发
2019-06-07
了解你的Linux系统:必须掌握的20个命令
2019-06-07
js setInterval 启用&停止
2019-06-07
knockoutJS学习笔记04:监控属性
2019-06-07
Linux下启动/关闭Oracle
2019-06-07
session和cookie的区别
2019-06-07
oracle 数据库、实例、服务名、SID
2019-06-07
web.xml文件的作用
2019-06-07
linux下oracle调试小知识
2019-06-07
alert弹出窗口,点击确认后关闭页面
2019-06-07
oracle问题之数据库恢复(三)
2019-06-07
单点登陆(SSO)
2019-06-07
HR,也确实“尽职尽责”
2019-06-07
MaxComputer 使用客户端配置
2019-06-07
20190823 顺其自然
2019-06-07
阅读《余生有你,人间值得》有感
2019-06-07
每日英语
2019-06-07
SpringCloud+feign 基于Springboot2.0 负载均衡
2019-06-07
【BZOJ5094】硬盘检测 概率
2019-06-07