spring - tx 事务 - 先看这个(事务的作用)

发布时间:2026/7/4 9:52:31
spring - tx 事务 - 先看这个(事务的作用) 事务的作用 以及 为什么只有DML操作才需要提交事务为什么只有DML操作才需要提交事务DMLData Manipulation Language操作包括INSERT、DELETE、UPDATE、是用来修改数据库中数据的操作这些操作的特点是它们会改变数据库的状态即它们会 添加新数据、修改现有数据、删除数据。由于这些操作直接涉及数据状态的改变它们对数据的完整性和一致性有着直接的影响。事务Transaction是一系列数据库操作的逻辑单元这些操作要么全部成功执行要么全部不执行。事务的主要目的是确保数据库从一种一致的状态转变为另一种一致的状态 如果事务中的某个操作失败那么整个事务都应该回滚Rollback 即撤销已经执行的所有操作以确保数据库的一致性不被破坏。对于DML操作来说提交事务Commit是非常重要的原因如下一致性保证通过提交事务可以确保DML操作所做的更改被永久保存到数据库中。如果不提交事务即使DML操作在逻辑上执行了其更改也不会被保存到数据库中这会导致数据的不一致状态。隔离性事务的隔离性确保了在事务执行期间其他并发事务无法看到该事务未提交的中间状态这意味着在事务完成并提交之前其他事务不会受到该事务的影响。回滚恢复如果DML操作在执行过程中出现错误或违反了一些约束如唯一性约束可以通过回滚事务来撤销这些操作从而恢复数据库到操作之前的状态。相比之下DQLData Query Language操作如SELECT只是用于检索数据不会改变数据库的状态因此它们不需要提交事务执行SELECT查询后你获得的是查询结果的一个副本对原始数据的任何修改都不会通过这个查询发生总之DML操作需要提交事务来确保数据的一致性、隔离性和可恢复性而DQL操作则不需要提交事务因为它们不涉及对数据库状态的修改。