假如有數據庫中有一張表,叫做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");