1. 程式人生 > >Java如何實現對Mysql資料庫的行鎖

Java如何實現對Mysql資料庫的行鎖

複製程式碼
@Transactional
    @Override
    public boolean increaseBalanceByLock(Long userId, BigDecimal amount)
        throws ValidateException {
        long time = System.currentTimeMillis();
        //獲取對記錄的鎖定
        UserBalance balance = userBalanceDao.getLock(userId);
        LOGGER.info("[lock] start. time: {}", time);
        
if (null == balance) { throw new ValidateException( ValidateErrorCode.ERRORCODE_BALANCE_NOTEXIST, "user balance is not exist"); } boolean result = userBalanceDao.increaseBalanceByLock(balance, amount); long timeEnd = System.currentTimeMillis(); LOGGER.info(
"[lock] end. time: {}", timeEnd); return result; }
複製程式碼