假如有数据库中有一张表,叫做Lock表,用来进行加锁解锁操作。
错误方式: List<Lock> lockList = lockService.queryByElementId("elementId_1");
if (lockList存在) throw "锁已存在,不能加锁!"
Lock lock = new Lock();
lock.setElementId("elementId_1");
lockService.create(lock);
.....(业务代码,省略)
lockService.deleteByElementId("elementId_1");
正确方式: Lock lock = new Lock();
lock.setElementId("elementId_1");
lockService.create(lock); // 直接插入数据库,element_id字段设置为唯一索引。不成功,数据库抛出异常表示加锁失败
.....(业务代码,省略)
lockService.deleteByElementId("elementId_1");