加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何从java代码中编写乐观和悲观锁定代码

发布时间:2020-12-15 00:21:36 所属栏目:Java 来源:网络整理
导读:我知道乐观和悲观锁定是什么,但是当你编写 java代码时,你是如何做到的?假设我使用Oracle和 Java,我在JDBC中有任何方法可以帮助我做到这一点吗?我该如何配置这个东西?任何指针将不胜感激. 解决方法 您可以用这种方式在数据库表中实现乐观锁(这是在Hibernat
我知道乐观和悲观锁定是什么,但是当你编写 java代码时,你是如何做到的?假设我使用Oracle和 Java,我在JDBC中有任何方法可以帮助我做到这一点吗?我该如何配置这个东西?任何指针将不胜感激.

解决方法

您可以用这种方式在数据库表中实现乐观锁(这是在Hibernate中完成乐观锁定的方式):

>将整数“版本”列添加到表中.
>每次更新相应行时,增加此列的值.
>要获得锁定,只需读取行的“版本”值即可.
>将“version = got_version”条件添加到where子句中
你的更新声明.验证更新后受影响的行数.
如果没有行受到影响 – 有人已经修改了您的条目.

您的更新应该是这样的

UPDATE mytable SET name = 'Andy',version = 3 WHERE id = 1 and version = 2

当然,这种机制只有在所有各方都遵循它的情况下才有效,这与DBMS提供的无需特殊处理的锁相反.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读