数据库并发操作
D_A_O 2017-10-10 04:41:19 在现在的项目中,有这样的一个要求:有X个用户同时访问后台,后台里,先判断表A中是否有结果(X个用户最终只能生成一个结果,取X个用户中之前操作的最小值),若结果已在数据库插入,则不插入,否则向表A中插入一条数据。
现在的问题是,第一个用户查询表A无结果,插入数据;第二个用户查询还是无结果,再次插入数据;第三个用户查询有结果,不插入......
我先是加入了synchronized,但是不行;然后在判断之前我加上了行锁,“select 1 from A s where s.c_e = ? for update ”,结果还是不行。
请指教。