关于文字内容分页的问题(Java)

关于文字内容分页的问题(Java),第1张

如果只是
文字
的话,那么可以进行计数,统计一下一共多少行,然后每页显示多少行。
如果还有之类的话,那么就只能手动分页了,做一个编辑页面,读取数据库中的数据,然后手动的插入分页标记,(自己定义的一些标记如%¥#¥¥)。然后再更新到数据库,那么在显示的时候就可以根据标记来将读取到的数据分成
数组
或者list的
形式
然后进行分页显示。

我觉得这个需要你自己写测试代码,两种方法你都可以试试,你说的万条的数据量,对于数据库来说,如果能一条语句就搞定的事情就不要去写几条查询语句,否则效率肯定不高,主要是你查询完成后的数据如何保存,一般情况下用HashList就可以了,至于HashSet和HashMap你需要考虑你查询到的数据信息的特点了,还是自己多动动手吧,我这里只是一些个人的见解,仅供参考。。。

面试问题就比较好回答了:
我认为可以概括为两种:
第一种:真分页,也就是数据库分页,需要多少数据取多少数据,适合数据量比较大的情况下使用
第二种:假分页,把所有数据都取出来,然后在页面上进行分页
大致就是这样子,当然这只是粗浅的说法

实际上分页的处理原则是:
每一次点击下一页或者最后一页都是一次请求,只不过每次请求的参数不同,参数为页数和每页多少条数据。
当后台接受到请求时,根据参数写出你需要返回的结果(SQL),这个结果就是你当前分页的数据。

说白了,分页就是根据页数和每页多少条数据去写SQL,SQL返回的结果就是分页的数据。这么说LZ理解了伐?

请参考下面的这个JDBC的小例子: public List<User> listUser(Page page) { Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
List<User> userList = new ArrayList<User>();
try {
conn = DBManagergetConnection();
String sql ="select from (select p, rownum r from (select from Person order by id) p where rownum<=) m where mr>=";
pstmt = connprepareStatement(sql);
pstmtsetInt(1, pagegetEndPos());
pstmtsetInt(2, pagegetStartPos());
rs = pstmtexecuteQuery();
while (rsnext()) {
User user = new User();
usersetId(rsgetInt("id"));
usersetUsername(rsgetString("username"));
usersetPassword(rsgetString("password"));
userListadd(user);
}
} catch (SQLException e) {
eprintStackTrace();
} finally {
DBManagerclose(rs, pstmt, conn);
}
return userList;
} 注:startPos 和 endPos 是每页开始和结束的记录的rownum。传进来的page对象最好是用一个构造函数实例化出来、并赋值好 startPos和EndPos的值。如果有没看懂的地方。请回复。Ps:纯属原创、谢绝转载。希望能帮到你!


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

原文地址: http://outofmemory.cn/yw/13387556.html

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

发表评论

登录后才能评论

评论列表(0条)

保存