您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 分页实例 (hibernate+struts2)
首先,我先说明其实这个文章是我借鉴别人博客,然后加了自己的一些东西,大家分享,对hibernate分页技术有个初步的认识,我自己也不是很懂首先,整个工程的示意图然后可以通过下面语句建立数据库createdatabaseifnotexists`test`;USE`test`;/*!40014SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0*/;/*!40101SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='NO_AUTO_VALUE_ON_ZERO'*/;/*Tablestructurefortable`admin`*/DROPTABLEIFEXISTS`admin`;CREATETABLE`admin`(`id`int(11)NOTNULLauto_increment,`user`char(20)defaultNULL,`pass`char(20)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=gb2312;/*Dataforthetable`admin`*/insertinto`admin`(`id`,`user`,`pass`)values(786432,'天使','#####'),(786433,'天使','#####'),(786434,'天使','#####'),(786435,'天使','#####'),(786436,'天使','#####'),(819200,'天使','#####'),(819201,'天使','#####'),(819202,'天使','#####'),(819203,'天使','#####'),(819204,'天使','#####'),(819205,'wangbacheng','#####'),(851968,'天使','#####'),(851969,'天使','#####'),(851970,'天使','#####'),(851971,'天使','#####'),(851972,'天使','#####');/*!40101SETSQL_MODE=@OLD_SQL_MO*/;/*!40014SETFOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS*/首先引入strut2与hibernate的jar包(WEB-INF)lib下Web.xml文件里的配置:?xmlversion=1.0encoding=UTF-8?web-appid=WebApp_9version=2.4xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/j2ee/web-app_2_4.xsddisplay-nameStrutsBlank/display-namefilterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mappingwelcome-file-listwelcome-fileindex.jsp/welcome-file/welcome-file-list/web-appPojo类packageaction;publicclassAdminimplementsjava.io.Serializable{privatestaticfinallongSerialVersionUID=1608508062589002356L;privateIntegerid;privateStringuser;privateStringpass;publicAdmin(){}publicAdmin(Integerid){this.id=id;}publicAdmin(Integerid,Stringuser,Stringpass){this.id=id;this.user=user;this.pass=pass;}publicIntegergetId(){returnthis.id;}publicvoidsetId(Integerid){this.id=id;}publicStringgetUser(){returnthis.user;}publicvoidsetUser(Stringuser){this.user=user;}publicStringgetPass(){returnthis.pass;}publicvoidsetPass(Stringpass){this.pass=pass;}}Admin对应的映射文件Admin.hbm.xml?xmlversion=1.0?!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD3.0//EN!--Generated2012-7-3115:54:25byHibernateTools3.4.0.CR1--!--classname=action.Admintable=admincatalog=testidname=idtype=intcolumnname=id/generatorclass=native//idpropertyname=usertype=java.lang.Stringcolumnname=userlength=20//propertypropertyname=passtype=java.lang.Stringcolumnname=passlength=20//property/class--hibernate-mappingclassname=action.Admintable=admincatalog=testidname=idtype=java.lang.Integercolumnname=id/generatorclass=native//idpropertyname=usertype=java.lang.Stringcolumnname=userlength=20//propertypropertyname=passtype=java.lang.Stringcolumnname=passlength=20//property/class/hibernate-mapping与数据库交互的层HibernateSessionFactory.javapackageaction;importorg.hibernate.HibernateException;importorg.hibernate.Session;importorg.hibernate.cfg.Configuration;publicclassHibernateSessionFactory{privatestaticStringCONFIG_FILE_LOCATION=/hibernate.cfg.xml;privatestaticfinalThreadLocalSessionthreadLocal=newThreadLocalSession();privatestaticConfigurationconfiguration=newConfiguration();privatestaticorg.hibernate.SessionFactorysessionFactory;privatestaticStringconfigFile=CONFIG_FILE_LOCATION;static{try{configuration.configure(configFile);sessionFactory=configuration.buildSessionFactory();}catch(Exceptione){System.err.println(%%%%ErrorCreatingSessionFactory%%%%);e.printStackTrace();}}privateHibernateSessionFactory(){}publicstaticSessiongetSession()throwsHibernateException{Sessionsession=(Session)threadLocal.get();if(session==null||!session.isOpen()){if(sessionFactory==null){rebuildSessionFactory();}session=(sessionFactory!=null)?sessionFactory.openSession():null;threadLocal.set(session);}returnsession;}/***Rebuildhibernatesessionfactory**/publicstaticvoidrebuildSessionFactory(){try{configuration.configure(configFile);sessionFactory=configuration.buildSessionFactory();}catch(Exceptione){System.err.println(%%%%ErrorCreatingSessionFactory%%%%);e.printStackTrace();}}publicstaticvoidcloseSession()throwsHibernateException{Sessionsession=(Session)threadLocal.get();threadLocal.set(null);if(session!=null){session.close();}}publicstaticorg.hibernate.SessionFactorygetSessionFactory(){returnsessionFactory;}publicstaticvoidsetConfigFile(StringconfigFile){HibernateSessionFactory.configFile=configFile;sessionFactory=null;}publicstaticConfigurationgetConfiguration(){returnconfiguration;}}分页用到了常量类,通过本类可以设置显示一页几行packageaction;publicclassConstants{publicstaticfinalintPAGE_SIZE=6;}分页所对应的Actionpackageaction;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Map;importcom.opensymphony.xwork2.ActionContext;
本文标题:分页实例 (hibernate+struts2)
链接地址:https://www.777doc.com/doc-4305114 .html