天天看点

java分页(java分页插件pagehelper)

在Java中如何用Serverlet实现分页查看数据库

serverlet跟分页关系不大吧。想得到可以啊,看查询语句怎么写的了。最好在查询语句中使用分页查询,页面上做一下获取页数什么的处理。全部查询在serverlet中直接截取的话,如果是不上线的系统随意弄。如果是需要上线的项目最好别这样,服务器内存会抗议的。分页查询的话如果用的是ssh框架集成,悲剧了,spring提供的hibernatetenple(怎么拼忘记了)没有分页方法,需要通过回调函数回调到hibernate中使用分页查询。

java分页算法有哪些?

  两个Vector,一个为储存查询所有记录的totalV,另一个储存当前页的记录currentPageV;

总的记录数:int totalSize = totalV。getSize();

每页显示的记录数:int countPerPage;

总页数:int totalPageNum = totalSize/countPerPage;

//如果总的记录数和每页记录数的余数大于零,

//那么总的页数为他们的整除结果加一

if (totalSize%countPerPage > 0 ){

totalPageNum = totalSize/countPerPage + 1;

当前的页数:pageNum;

for (int j = 0;j= (pageNum - 1) * countPerPage) && (j < pageNum * countPerPage)) {

currentPageV。

JAVA如何实现网页分页功能?

用SSH写分页,很快的。不画页面代码5分钟搞定,加页面总共10分钟。页面不需要一句小脚本。

我只讲思路。新建一个PageBean类,封装7个属性。即总页数,每页数据显示条数的大小,上一页,下一页,当前页,总数据条数,和一个List集合。给每页大小赋你自己想控制的值。给当前页赋初始值1。同时要控制溢出,在获得总页数的方法中,返回总数据条数%每页设置的数据大小,当等于0时,就是总数据条数/每页设置的数据大小,如果不等于0就是总数据条数/每页设置的数据大小的商+1。在设置上一页中当传入的上一页小于等于1时让它等于1,设置下一页中当传入的值大于等于总页数时,让它等于总页数。 然后去数据访问层,方法是void fenye(PageBean pb);方法体的中第一条是设置总记录数,这时候要调用SSH集成后自动生成的查询整个数据实体类的方法返回集合的size()方法。然后再使用匿名内部类,query语句查询数据实体类。注意使用匿名实体类时方法中PageBean的参数pb要设为常量。还要设置每页数据的最大值和最小值。最大值就是PageBean中的pb.getPagesize().最小值就是pb.get当前页-1的值再去乘以pb.getPagesize().。然后查询语句返回集合。进Action,再Action中声明一个List 集合的引用。还要设置上一页等于当前页-1.下一页则+1,页面中迭代pb.list,上一页A标签传上一页的中的当前页,下一页也是如此。这就是当前最标准的SSH分页方法, 别看字多,其实操作起来熟练就10分钟。好好理解吧。hibernate 有分页的查询函数可用...

搜索后分页:

在页面中使用隐藏域,

搜索之后,返回的页面中隐藏域保存了搜索的信息,

而分页的链接-》执行函数将 隐藏域中的搜索信息 + 页码 作为参数传递至后台,由后台进行查询~~

往后台传字符串乱码问题?

你的页面是什么编码?执行请求是get 还是post方法,get方法的话需要注意url中包含中文字符的问题,可以先将其转为iso8859-1再发送请求。

在后台获取到中文信息出现乱码的话,可以使用一个全局的过滤器,将

请求中的编码信息设置为页面所用的编码,此后再获取信息时,控制器将自动进行编码转换了(如iso8859-1 到gbk的转换)。

强烈建议数据库、程序、页面都使用utf8的编码!

如果不用隐藏域的话,用cookie去控制~~

用JAVA怎么写分页代码

totalPages) pageNo = totalPages; 
 int startPos = (pageNo - 1 ) * pageSize; 
 Statement stmt = conn.createStatement(); 
 ResultSet rs = stmt.executeQuery("select * from article where pid = 0 order by pdate desc limit " + startPos + ", " + pageSize); 
?url=http%3A%2F%2Fwww.w3.org%2FTR%2Fhtml4%2Floose.dtd%22%3E" target="_blank">">      

微型BBS

发布新帖

分页?什么意思?我学过点java的,不是很明白你的意思!Connection con = Control.db.getConnection();

//要先初始化那个Servlet,JNDI配置,这里的数据库连接才可以得到 
//这里可以别的方法得到数据库的连接 
PreparedStatement pstate = null; 
ResultSet result = null; 
int pagesize = 10;//每页显示的记录数 
int rowcount;//记录总数 
int pagecount;//总页数 
int intpage;//正在显示的页码 
String strpage;//网页request用来转化数据之用 
int i; 
strpage = request.getParameter("page"); 
//网页中通过参数的传递,显示第几页.... 
if (strpage == null) 
 intpage = 1; 
else 
 intpage = java.lang.Integer.parseInt(strpage); 
sql = "select * from che_good "; 
 pstate = con.prepareStatement(sql, 
java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, 
java.sql.ResultSet.CONCUR_READ_ONLY); 
result = pstate.executeQuery(); 
result.last(); 
rowcount = result.getRow(); 
//得到结果集的行数,便于分页显示 
pagecount = (rowcount + pagesize - 1) / pagesize; 
//计算出总页数 
if (intpage > pagecount) 
intpage = pagecount; 
//在上面的一切java代码中,都是计算出总行数,每页的最多的行数,总页数等信息.... 
String mysql_sql = 
"select * from (select id,title,content,price,vary,mainpic from che_good )greatwqs order by greatwqs.id limit ?,?"; 
//利用mysql的方法放回数据: 
//这里是返回的是第m+1行到n+1行的数据; m为第2个?号,n为第3个?号 
pstate = con.prepareStatement(mysql_sql); 
pstate.setInt(1, (intpage -1) * pagesize); 
pstate.setInt(2, (intpage) * pagesize); 
result = pstate.executeQuery();      

//注意:这里的结果集只是包含了 m行到n行的ResultSet

既然定制到M-N行的结果集出来了,

用getSting等方法取出结果集的数据来JSP元素的显示就不麻烦了....

这里的代码属于CHECHE购物JSP项目组的原创,版权所有..呵呵.. 谈谈我的想法.代码就不说了.

在java实现分页中.首先代码肯定是写在page.java文件中的(也就是一个封装类中.例:Page)

除此之外后,还有一个连接数据库的类:DBManager.java

在Page类中实例化DBManager类.然后创建 up_page(args1,args2..)上一页;...下一页;首页;尾页.等方法.

这样做的好处是,可以让分页和数据库分离.

在你试着写出现困难的时候,看懂了别人的代码.

让后根据你自己的思维在写一个封装类. 我感觉别人给的代码永远不是最适合自己的.

那只是解决了自己不太懂的一个知识点.在网上找一个分页的JS文件

然后查询数据库返回一个LIST就行了

//分页 
 //pageNo代表页数 pageSize代表每页的大小,此方法的传入这两个值 
 public List search(int pageNo,int pageSize){ 
 pageNo=6; pageSize=10; 
 //得到数据条数(hql查询) 
 //string hql="select count(sc) from ServicesCreat sc"; 
//开启事物,得到session 
 Session session =HibernateSessionFactory.getSession();      
//在数据库里面查询拟页面上所要实现的值 
 String hql="from ServicesCreat sc order by sc.Services_ID"; 
//创建query 
 Query query=session.createQuery(hql); 
//页面索引 
 int firstResultIndex=pageSize*(pageNo-1); 
//起始页 
 query.setFirstResult(firstResultIndex); 
//最大页数(共几页) 
 query.setMaxResults(pageSize); 
//返回值 
 return query.list()