java多线程操作数据库

现在有100万条数据,需要开5个线程往数据库里写,怎么保证数据库中数据不重复啊。最好有段示例代码... 现在有100万条数据,需要开5个线程 往数据库里写,怎么保证数据库中数据不重复啊。
最好有段示例代码
展开
 我来答
strionws
推荐于2016-02-09 · TA获得超过1644个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:378万
展开全部
首先,你的确定数据的主键是否可以使用序列自增。
  如果可以那么你可以在插入数据的时候获取序列里的值,这样数据就不会重复了。
其次,可以创建一个公共方法,进行数据的插入操作,并且方法类型声明为 static synchronized
  类型,这样基本上就不会出现数据重复的现象了
最后,要看你是怎么获得待插入源数据了,这个获得数据源的方法也做成static synchronized的公
  共方法。
追问
主要问题是我怎么给在文件里的数据加上锁呢?
100万条数据都在txt文件中,每读1行都加上锁么?那我怎么保证下个线程读的是下一行呢?
追答
不是,不是给文件中的数据枷锁。
着这个样子的。
你先建立一个模块,比如是一个叫ReadData的方法。
这个方法的作用就是读取文件中的一行数据,每执行一次,就返回下一行数据。
然后你把这个方法定义成static synchronized类型的。
这样多线程调用这个方法的时候,获取的就是不重复且唯一的数据了。
fuhaiwei
2012-09-26 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1390万
展开全部
这些数据有record_id之类的东西吗,如果有可以在数据库中建表的时候,把这一列设置成unique的。
更多追问追答
追问
没有不重复列。。而且插入的数据库自增长产生的主键
追答
那一百万条数据是在文件中?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枷星足球w
2012-09-26
知道答主
回答量:80
采纳率:0%
帮助的人:17.3万
展开全部
你好我建议你系统的学习下李刚老师的疯狂Java视频课程和书籍 销量最好的
追问
我不能因为一个问题看全部的书吧。。 而且时间也不允许啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式