1、单机版本的解决方案
<select id="findMaxId" resultType="Long"> select max(id)+1 from bill </select>
boolean i = false; try{ Object maxId = billService.findMaxId(); //锁住本对象 synchronized(maxId){ StringBuffer br = new StringBuffer(); br.append(bill.getUserId()); br.append(RedisConstant.INCOME_KEY); String key = br.toString(); QueryWrapper userQueryWrapper = new QueryWrapper(); userQueryWrapper.eq("id", bill.getUserId());