java中从数据库随机查询出一条数据,怎么实现不会重复抽取

java中从数据库随机查询出一条数据,怎么实现不会重复抽取,第1张

‘’如何避免多个审核人员获得同一条未审核的数据‘’?

那这么看就是并发的问题了?

简单来说,1. 页面发送一个查询数据库的请求,然后事务进入数据库直接把表锁死。不然别的事务进来。等他 *** 作完成后别的请求才能进入。

2.页面请求过来就把随机分配的那条数据给锁死。

总得来说还得锁住才能解决 *** 作到同一条数据

1. 用select count(*)得到总记录条数t;

2. 用分页查找,用随机数Random得到一个0<x<t的x数,然后分页的分页数和分页量都用x

3.该分页查找得到的就是一个随机的记录。

4.循环1-3步骤,直到得到希望数量的随机记录。

思路

int intCount=0 //查看rs的数据行数

rs.last() 得到最后一条

intCount=rs.getRow()

int intSuiji=((int) Math.round((Math.random()*100))%intCount) //得到随机的行数

int temp=0

while(rs.next())

{

if(temp==intSuiji){

rs.getString("a") //得到a字段

}

temp++

}

以上只是思路,没测试,觉得对您有用,给分,嘎


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10054632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存