扫码关注官方订阅号
ringa_lee
SQL应该尽量减少业务逻辑,对一些业务逻辑的校验可以放在业务层去做,SQL就简单的Insert就可以了
对于多张表 我和上面的人的想法一样 在一条插入语句执行后返回其主键 在次插入到含有外键的另一张表中例如
然后在你的业务逻辑中获取到返回的主键 插入到另外一张表中即可 这样避免了复杂的sql
在业务层慢慢写多条 insert 语句, 开启返回主键有关联也不麻烦的, 反正现在都是生成的 mapper .
不用考虑数据完整性,控制好事务没啥好怕的.
问题我已经解决了,mysql里不用<selectKey>这个标签,只需加上useGeneratedKeys="true" keyProperty="id"这两个属性就好了,插入数据后自动返回主键值到对象中。然后把主键值存入关联表中就可以了,这样就建立了关联关系了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
SQL应该尽量减少业务逻辑,对一些业务逻辑的校验可以放在业务层去做,SQL就简单的Insert就可以了
对于多张表 我和上面的人的想法一样 在一条插入语句执行后返回其主键 在次插入到含有外键的另一张表中例如
然后在你的业务逻辑中获取到返回的主键 插入到另外一张表中即可 这样避免了复杂的sql
在业务层慢慢写多条 insert 语句, 开启返回主键有关联也不麻烦的, 反正现在都是生成的 mapper .
不用考虑数据完整性,控制好事务没啥好怕的.
问题我已经解决了,mysql里不用<selectKey>这个标签,只需加上useGeneratedKeys="true" keyProperty="id"这两个属性就好了,插入数据后自动返回主键值到对象中。然后把主键值存入关联表中就可以了,这样就建立了关联关系了。