java 怎样分页存储数据到mysql数据库

java 怎样分页存储数据到mysql数据库,第1张

根据我的理解你的程序的主要作用是:

抓取另外一个网站的页面内容

解析后存储到自己的数据库里面

然后再在页面上显示刚刚抓取的数据

如果我的理解正确的话,你要做的是一个网站数据采集器,那么

分页存储的方法有两种:

方案A

在数据库找个表存储当前进行到的序号,比如现在网站上有1000个数据,有个字段可以标定数据的序号,就是网站文章的id(这个数据根据业务的不同要自己去寻找)

然后你读取对方网站的时候先把网站的html读取到java内存中,然后解析这些html,读出一个list列表

在对list列表遍历的时候,把文章的id跟数据库中存储的文章id比对,如果发现是已经存储过的文章id就不存储,如果是没存储过的再存储

在遍历的过程中记录下当前存储的文章数量,当达到一个指定的数量(你可以自己定义,比如是100个文章)的时候停止存储,并退出循环,然后把当前遍历到的文章id存储到数据库中

这样就实现了每次只存储指定的数量(比如100个文章)

方案B

如果你要抓取的网站也是分页的,那么你就每次抓取一页,并把当前抓取到的页数记录到数据库中

通过观察得出对方网站的不同页数据的url规律,比如发现他们网站第x页的数据总是根据 域名/具体的页面page=x ,那么下次抓取的时候,从数据库读出上次抓取的页面数,然后加1

拼出新的页面的url,然后访问,再进行抓取

这样就实现了每次只存储一页数据

分页显示的方法:

使用mysql的 limit 语法:limit x,y ,代表从第x行开始读取 y 行数据

假定当前要翻到第page页,每页有row行数据,sql要这么写

select  from user limit ((page-1)row),row

举个例子一页20条,第3页的写法

select  from user limit 40,20

fos = new FileOutputStream(new File(dir, entrygetKey()+"txt"), true);

把FileOutputStream的第二个参数设置为true,就表示追加内容

以上就是关于java 怎样分页存储数据到mysql数据库全部的内容,包括:java 怎样分页存储数据到mysql数据库、java 从数据库取数据并存入本地文本中、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存