我需要在表中显式锁定一行连接,其中包括:
- 读入数据;
- (某些逻辑将在两者之间运行)
- 更新数据库中的相应行;
虽然其他连接无法读取数据,但禁用脏读(因此ISOLATION级别是不可能的)。
阅读documentation,但不完全理解它。我目前的理解是否正确:
- 将并发控制模型设置为MVCC;
- 将事务隔离级别设置为READ COMMITTED(实际上已经默认);
- 为手中的Connection对象设置autocommit值为false;
- create Statement / PreparedStatement;
- 对语句或PreparedStatement对象运行'SELECT / - / FOR UPDATE'查询并接收ResultSet;
- - 执行一些逻辑 -
- 使用ResultSet updateX()方法或新的UPDATE sql(executeUpdate())更新行。
- 提交更改。
是否有任何步骤是多余的,遗漏或我完全误解了整个概念?