- 浏览: 293821 次
- 性别:
- 来自: 东京
文章分类
最新评论
-
80后的童年2:
企业级分布式搜索平台Solr视频教程网盘地址:https:// ...
企业级搜索引擎Solr使用入门指南 -
springdata_spring:
apache lucene开源框架demo使用实例教程源代码下 ...
Lucene / Solr 开发经验 -
springdata-jpa:
java web开发分页demo源代码下载:http://ww ...
简易java分页标签 -
zjf_sdnu:
兄弟,script写错了
jqGrid初学备注 -
85600367:
你好,请教一个问题。当进行分布式查询时solr无法查询到Luc ...
Lucene / Solr 开发经验
新建表
实体
新建page.java
新建 pageHelp.java
新建 util.java
新建 struts PageAction.java
前台页面
启动浏览 pageAction.do 运行OK。
配置文件
sql 代码
- DROP DATABASE IF EXISTS `wjcms`;
- CREATE DATABASE `wjcms` /*!40100 DEFAULT CHARACTER SET gb2312 */;
- USE `wjcms`;
- #
- # Table structure for table t_article
- #
- CREATE TABLE `t_article` (
- `a_id` int(11) NOT NULL auto_increment,
- `a_sort` int(11) NOT NULL default '0',
- `a_title` varchar(50) default NULL,
- `a_body` text,
- `a_author` varchar(11) default '',
- `a_hit` int(11) NOT NULL default '0',
- `c_id` int(11) default '0',
- `a_date` varchar(20) default NULL,
- PRIMARY KEY (`a_id`)
- )
实体
java 代码
- public class articleVO {
- private int a_id;
- private int a_sort;
- private int a_hit;
- private int c_id;
- private String a_title;
- private String a_body;
- private String a_author;
- private String a_date;
- // getter setter
新建page.java
java 代码
- package page.dal;
- public class page {
- private int totalRows; //总行数
- private int pageSize = 10; //每页显示的行数
- private int currentPage; //当前页号
- private int totalPages; //总页数
- private int startRow; //当前页在数据库中的起始行
- public page(int _totalRows) {
- totalRows = _totalRows;
- totalPages=totalRows/pageSize;
- int mod=totalRows%pageSize;
- if(mod>0){
- totalPages++;
- }
- currentPage = 1;
- startRow = 0;
- }
- public int getStartRow() {
- return startRow;
- }
- public int getTotalPages() {
- return totalPages;
- }
- public int getCurrentPage() {
- return currentPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setTotalRows(int totalRows) {
- this.totalRows = totalRows;
- }
- public void setStartRow(int startRow) {
- this.startRow = startRow;
- }
- public void setTotalPages(int totalPages) {
- this.totalPages = totalPages;
- }
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getTotalRows() {
- return totalRows;
- }
- public void first() {
- currentPage = 1;
- startRow = 0;
- }
- public void previous() {
- if (currentPage == 1) {
- return;
- }
- currentPage--;
- startRow = (currentPage - 1) * pageSize;
- }
- public void next() {
- if (currentPage < totalPages) {
- currentPage++;
- }
- startRow = (currentPage - 1) * pageSize;
- }
- public void last() {
- currentPage = totalPages;
- startRow = (currentPage - 1) * pageSize;
- }
- public void refresh(int _currentPage) {
- currentPage = _currentPage;
- if (currentPage > totalPages) {
- last();
- }
- }
- }
新建 pageHelp.java
java 代码
- package page.dal;
- import javax.servlet.http.*;
- public class PagerHelp {
- public static page getPager(HttpServletRequest httpServletRequest,int totalRows) {
- //定义pager对象,用于传到页面
- page pager = new page(totalRows);
- //从Request对象中获取当前页号
- String currentPage = httpServletRequest.getParameter("currentPage");
- //如果当前页号为空,表示为首次查询该页
- //如果不为空,则刷新page对象,输入当前页号等信息
- if (currentPage != null) {
- pager.refresh(Integer.parseInt(currentPage));
- }
- //获取当前执行的方法,首页,前一页,后一页,尾页。
- String pagerMethod = httpServletRequest.getParameter("pageMethod");
- if (pagerMethod != null) {
- if (pagerMethod.equals("first")) {
- pager.first();
- } else if (pagerMethod.equals("previous")) {
- pager.previous();
- } else if (pagerMethod.equals("next")) {
- pager.next();
- } else if (pagerMethod.equals("last")) {
- pager.last();
- }
- }
- return pager;
- }
- }
新建 util.java
java 代码
- package page.dal;
- import net.sf.hibernate.Query;
- import net.sf.hibernate.cfg.Configuration;
- import java.util.List;
- import net.sf.hibernate.HibernateException;
- import net.sf.hibernate.SessionFactory;
- import net.sf.hibernate.Session;
- import java.util.*;
- public class util {
- public util() {
- }
- private Session ss=null;
- public Session getSession()
- {
- // Configuration config=null;
- SessionFactory sessionFactory;
- try {
- Configuration cfg = new Configuration();
- sessionFactory = cfg.addClass(articleVO.class).
- buildSessionFactory();
- // SessionFactory sessionFactory=config.buildSessionFactory();
- ss = sessionFactory.openSession();
- return ss;
- } catch (HibernateException ex) {
- System.out.print("getsession出错了。。" + ex.getMessage());
- return null;
- }
- }
- public int getCount()
- {
- String sql="select count(*) from articleVO" ;
- this.getSession();
- try {
- // ss.createQuery("select count(a)as cont from articleVO a ");
- int rows= ((Integer) ss.iterate(sql).next()).intValue();
- ss.flush();
- return rows;
- } catch (HibernateException ex) {
- System.out.print("ex::"+ex.getMessage());
- return 0;
- }
- }
- public Collection getList(int pagesize,int currow) throws HibernateException {
- Collection vehicleList = null;
- this.getSession();
- Query q=ss.createQuery("from articleVO");
- q.setFirstResult(currow);
- q.setMaxResults(pagesize);
- vehicleList=q.list();
- ss.flush();
- return vehicleList;
- }
- }
新建 struts PageAction.java
java 代码
- package page.dal;
- import org.apache.struts.action.ActionMapping;
- import org.apache.struts.action.ActionForm;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.Action;
- import page.dal.*;
- import java.util.*;
- import net.sf.hibernate.*;
- public class pageAction extends Action {
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- Collection clInfos = null;//用于输出到页面的记录集合
- int totalRows;//记录总行数
- util dal=new util();
- totalRows=dal.getCount();
- System.out.print("总行数=="+totalRows);
- page p=PagerHelp.getPager(request,totalRows);
- try {
- clInfos = dal.getList(p.getPageSize(), p.getStartRow());
- } catch (HibernateException ex) {
- System.out.print("action里的错误="+ex.getMessage());
- }
- request.setAttribute("page",p);
- request.setAttribute("list",clInfos);
- return mapping.findForward("page");
- //pageForm pageForm = (pageForm) form;
- // throw new java.lang.UnsupportedOperationException(
- // "Method $execute() not yet implemented.");
- }
- }
前台页面
xml 代码
- <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
- <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>
- <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
- <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
- <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
- <%@ page contentType="text/html; charset=GBK" %>
- <html:html>
- <head>
- <title>
- page
- </title>
- </head>
- <body>
- <table align="center" border="2">
- <tr>
- <th>a_title</th>
- <th>a_body</th>
- <th>a_a_date</th>
- <th>a_author</th>
- </tr>
- <logic:iterate id="listd" name="list">
- <tr>
- <td>
- <bean:write name="listd" property="a_title"/>
- </td>
- <td>
- <bean:write name="listd" property="a_author"/>
- </td>
- <td>
- <bean:write name="listd" property="a_date"/>
- </td>
- <td>
- <bean:write name="listd" property="a_date"/>
- </td>
- </tr>
- </logic:iterate>
- </table>
- 第<bean:write name="page" property="currentPage"/>页
- 共<bean:write name="page" property="totalPages" />页
- <html:link action="/pageAction.do?pageMethod=first" paramName="page" paramProperty="currentPage" paramId="currentPage">首页</html:link>
- <html:link action="/pageAction.do?pageMethod=previous" paramName="page" paramProperty="currentPage" paramId="currentPage">上一页</html:link>
- <html:link action="/pageAction.do?pageMethod=next" paramName="page" paramProperty="currentPage" paramId="currentPage">下一页</html:link>
- <html:link action="/pageAction.do?pageMethod=last" paramName="page" paramProperty="currentPage" paramId="currentPage">尾页</html:link>
- </body>
- </html:html>
启动浏览 pageAction.do 运行OK。
配置文件
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
- <hibernate-mapping>
- <class name="page.dal.articleVO" table="t_article" >
- <id name="a_id" column="a_id" unsaved-value="0" >
- <generator class="native"/>
- </id>
- <property name="c_id" column="c_id"/>
- <property name="a_title" column="a_title"/>
- <property name="a_sort" column="a_sort"/>
- <property name="a_date" column="a_date"/>
- <property name="a_body" column="a_body"/>
- <property name="a_hit" column="a_hit"/>
- <property name="a_author" column="a_author"/>
- </class>
- </hibernate-mapping>
xml 代码
- hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
- hibernate.connection.driver_class org.gjt.mm.mysql.Driver
- hibernate.connection.url jdbc:mysql://localhost:3306/wjcms
- hibernate.connection.username root
- hibernate.connection.password
- hibernate.connection.pool_size 1
- hibernate.proxool.pool_alias pool1
- hibernate.show_sql true
- hibernate.max_fetch_depth 1
- hibernate.cache.use_query_cache true
发表评论
-
Struts2 Jsonplugin 详解
2009-07-08 21:41 7060本文转自: http://www.blogjava.net/f ... -
一点struts json备注
2009-07-05 00:30 1504下载struts json插件:jsonplugin-0.33 ... -
Hibernate annotation简单配置
2009-06-29 00:04 1615<?xml version="1.0" ... -
Liferay下整合Spring和Hibernate开发Plugin初试
2009-05-26 00:41 4842简单的说,完全不知道Liferay下应该如何做开发。所以完全凭 ... -
Liferay plugin开发入门
2009-05-19 00:10 2686本篇部分引用以下文章: http://daoger.itey ... -
Hibernate通用DAO
2009-01-02 17:46 3596/** * @author Clay Zhong, zjcl ... -
Acegi获取用户信息
2008-12-04 23:38 2812import org.acegisecurity.Authen ... -
Acegi详解
2008-11-16 21:15 1735本文转自:http://www.yuanma.org/data ... -
velocity.properties source code
2008-11-04 22:37 2965# Licensed to the Apache Softwa ... -
DetachedCriteria,Hibernate模糊查询
2008-09-21 10:59 41601,假设存在Thesis对象: package org.cms ... -
lucene常用搜索排序摘录
2008-09-16 23:38 3107一,查询 一个关键字,对一个字段进行查询 Query ... -
Solr中SimplePostTool的修改
2008-09-15 22:38 2920将源代码修改为传递字符串,去掉files以及stdin模式。 ... -
Struts2,Spring2,Hibernate3整合
2008-09-15 11:44 33261. web.xml <?xml version=&qu ... -
企业级搜索引擎Solr使用入门指南
2008-09-10 22:43 16624本文转自 http://chuanliang2 ... -
Lucene / Solr 开发经验
2008-09-10 22:12 19973转自 Lucene/Solr开发经验[原] 作者 张驰有道 ... -
Lucene初学备注
2008-09-07 19:51 12271,检索文件目录,创建index import java.io ... -
JR各Ajax框架基础教程收集
2008-08-24 12:19 1167JQuery: http://www.javaresearch ... -
Spring 2.0 中配置 JPA
2008-04-20 16:57 3843翻译:SpringSide团队 转载请注明出处。 本文提供了 ... -
Hibernate延迟加载
2008-02-09 16:22 2707延迟初始化错误是运用Hibernate开发项目时最常见的错误。 ... -
Properties资源文件编码
2008-01-26 17:26 14801、展开Eclipse的Help菜单,将鼠标移到Softwar ...
相关推荐
Struts+Hibernate分页
Struts+Hibernate分页
Struts+Hibernate实现分页.
Struts+Hibernate分页标签 Struts+Hibernate分页标签
本例子用Struts+Hibernate 开发,主要实现分页功能,运行环境Myeclipse+tomcate,附有数据库和jar包。下载后直接运行
高效率spring+struts+hibernate分页算法
用struts+hibernate做的分页显示,我只上传了几个重要的java文件,可以作为参考.
struts+hibernate分页 模糊查询 author:朱千平 phone:13522080786 qq:200896066
好久没写过什么东西了,最近自己在学习Java WEB方面的东西,自己想用JSP和 Struts2 HIBERNATE来写一个自己工作室的网站练练手,稍微有些收获今天写出来,与大家一起分享一下:STRUTS2+HIBERNATE实现分页是JAVA WEB最...
struts+hibernate 分页实例
结合Struts和Hibernate做的一个分页,很完整,可以运行的!
struts+hibernate分页源码!
实现简单的分页功能,用Struts 和hibernate实现
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
经调过的Struts+Hibernate分页演示程序 <br>特点: 一、使用MYSQL数据库,我添加的数据库脚本 二、完全采用MVC结构设计理念,页面不含任何JSP脚本
在struts+hibernate框架下实现动态分页,压缩包只包括JSP源码,测试前先架构好框架