java中给某个字段加锁


private String buildLock(String str) {
        StringBuilder sb = new StringBuilder(str);
        String lock = sb.toString().intern();
        return lock;
    }


public ResultBean saveYhyhq(String yhqbh, String khh) {
        ResultBean res = new ResultBean();
        try {
            // 加锁
            String lock = buildLock(yhqbh);
            synchronized (lock) {
                // 查询优惠卷是否可用
                String yhqxxsql = "select * from tyhqxx where zt = " + GlobalStatusType.YHQZT_QY
                        + " and sxsl > 0 and yhqbh = '" + yhqbh + "'";
                Tyhqxx tyhqxx = sqlMapper.selectOne(yhqxxsql, Tyhqxx.class);
                if (tyhqxx == null) {
                    res.setSuccess(false);
                    res.setMessage("来晚了");
                    return res;
                }
              
        } catch (Exception e) {
            res.setSuccess(false);
            res.setMessage("异常:" + e.getMessage());
            throw new RuntimeException(e);
        }
        return res;
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM