java实现常规的乐观锁

DB设计的每一个字段都是有用的,大家会发现现在项目的数据库中的表中都有【更新日时】这个字段,
而且它是timestamp类型,可以精确到秒的小数点后六位。只要进行DB更新,都需要更新这个字段。
当你打开画面时,这个字段也需要取出来,放到画面隐藏起来,
进行更新时需要将画面上的隐藏值和DB中这个值进行比较,这两个值相等,则说明没有人更新过这个字段,则正常进行更新。
当这两个字段不相等了,就说明已经有人更新了,所以需要重新刷新画面,获取最新DB数据之后再进行更新。

上面说的是更新,防止重复插入数据方法也很多,DB设计时就做一个唯一主键,然后使用sequence,让主键实现自动增长。我们现在数据库中部分表就是用了sequence。
除此之外,我们还可以try catch来捕捉主键冲突,然后可将错误信息返回到画面,让用户重新进行登录。

-----出自公司内部大神之手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值