struts20 + hibernate + oracle 分页问题.docx
- 文档编号:4687297
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:18.93KB
struts20 + hibernate + oracle 分页问题.docx
《struts20 + hibernate + oracle 分页问题.docx》由会员分享,可在线阅读,更多相关《struts20 + hibernate + oracle 分页问题.docx(12页珍藏版)》请在冰豆网上搜索。
struts20+hibernate+oracle分页问题
struts2.0+hibernate+oracle分页问题
最近弄了下 struts2.0+hibernate+oracle分页问题的
从网上搜了些资料。
总觉得不是很合心意。
自己做了例子。
ueser.sql
Sql代码
DROPTABLE"SCOTT"."T_USER"cascadeconstraints;
DROPSEQUENCE"SCOTT"."Q_USER";
CREATETABLET_USER
(
ID CHAR(4BYTE)NOTNULLENABLE,
USERNAMEVARCHAR2(20BYTE)NOTNULLENABLE,
PASSWORDVARCHAR2(20BYTE)NOTNULLENABLE,
CONSTRAINTT_USER_PKPRIMARYKEY(ID)USINGINDEXPCTFREE10INITRANS2MAXTRANS255STORAGE(INITIAL65536NEXT1048576MINEXTENTS1MAXEXTENTS2147483645PCTINCREASE0FREELISTS1FREELISTGROUPS1BUFFER_POOLDEFAULT)TABLESPACESYSTEMENABLE
)
PCTFREE10PCTUSED40INITRANS1MAXTRANS255NOCOMPRESSLOGGINGSTORAGE
(
INITIAL65536NEXT1048576MINEXTENTS1MAXEXTENTS2147483645PCTINCREASE0FREELISTS1FREELISTGROUPS1BUFFER_POOLDEFAULT
)
TABLESPACESYSTEM;
CREATESEQUENCE"SCOTT"."Q_USER"MINVALUE1MAXVALUE9999INCREMENTBY1STARTWITH121CACHE20NOORDERNOCYCLE;
InsertintoT_USER(ID,USERNAME,PASSWORD)values(Q_USER.nextval,'222','222');
DROPTABLE"SCOTT"."T_USER"cascadeconstraints;
DROPSEQUENCE"SCOTT"."Q_USER";
HibernateUtil.java
Java代码
packagehibernate;
importorg.hibernate.HibernateException;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
/**
*Hibernate的工具类.
*@authorAmigoXie
*/
publicclassHibernateUtil{
privatestaticSessionFactorysessionFactory;
/**持有一个单态的Session实例. */
privatestaticfinalThreadLocalthreadLocal=newThreadLocal();
/**持有一个单态的configuration实例. */
privatestaticfinalConfigurationcfg=newConfiguration();
privatestaticStringCONFIG_FILE_LOCATION="hibernate/hibernate.cfg.xml";
static{
try{
sessionFactory=newConfiguration().configure(CONFIG_FILE_LOCATION)
.buildSessionFactory();
}catch(Throwableex){
//Makesureyoulogtheexception,asitmightbeswallowed
System.err.println("InitialSessionFactorycreationfailed."+ex);
thrownewExceptionInInitializerError(ex);
}
}
publicstaticSessionFactorygetSessionFactory(){
returnsessionFactory;
}
/**
*获得当前的Session实例.
*@returnSession
*@throwsHibernateException
*/
publicstaticSessioncurrentSession()throwsHibernateException{
Sessionsession=(Session)threadLocal.get();
//if(session==null){
if(session==null||session.isOpen()==false){
if(sessionFactory==null){
try{
cfg.configure(CONFIG_FILE_LOCATION);
sessionFactory=cfg.buildSessionFactory();
}
catch(Exceptione){
System.err.println("%%%%ErrorCreatingSessionFactory%%%%"
+e.getMessage());
}
}
session=sessionFactory.openSession();
threadLocal.set(session);
}
returnsession;
}
}
User.java
Java代码
packagehibernate;
publicclassUser{
privateStringid;
privateStringuserName;
privateStringpassword;
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
hibernate.cfg.xml
Xml代码
xmlversion='1.0'encoding='utf-8'?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
--properties-->
oracle:
thin:
@127.0.0.1:
1521:
JIM
--mappingfiles-->
user.hbm.xml
Java代码
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"
IuserDao.java接口
Java代码
packagepage;
importhibernate.User;
importjava.util.List;
publicinterfaceIuserDao{
publicList
publicintcount();
}
UserDao.java
Java代码
packagepage;
importhibernate.HibernateUtil;
importhibernate.User;
importjava.util.List;
importorg.hibernate.HibernateException;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.Transaction;
publicclassUserDaoimplementsIuserDao{
@Override
publicList
//TODOAuto-generatedmethodstub
//PagerModel
List
Stringhsql="fromUser";
Sessionsession=HibernateUtil.currentSession();
Transactionts=null;
try{
ts=session.beginTransaction();
Queryquery=session.createQuery(hsql);
query.setFirstResult(offset);
query.setMaxResults(max);
list =query.list();
}catch(HibernateExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
if(ts!
=null){
ts.rollback();
}
}finally{
session.close();
}
returnlist;
}
@Override
publicintcount(){
//TODOAuto-generatedmethodstub
inti=0;
Sessionsession=HibernateUtil.currentSession();
Transactionts=null;
try{
ts=session.beginTransaction();
Queryquery=session.createQuery("selectcount(*)fromUser");
i=(Integer)query.uniqueResult();
}catch(HibernateExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
if(ts!
=null){
ts.rollback();
}
}finally{
session.close();
}
returni;
}
}
pageAction.java
Java代码
packagepage;
importjava.util.List;
importhibernate.User;
importcom.opensymphony.xwork2.ActionSupport;
publicclassPageActionextendsActionSupport{
inti=1;//中间变量
privateintk;//储存最大页面数
privateintpageNow=1;//页码数,初始为1
privateintpageSize=5;//页面行数
privateintintRowCount=0;//总行数
privateintintPageCount=1;//总页数
// privateAdminadmin;
// privateList
privateUseruser;
privateList
privateintid;
privateintaid;
publicUsergetUser(){
returnuser;
}
publicvoidsetUser(Useruser){
this.user=user;
}
publicList
returnusers;
}
publicvoidsetUsers(List
this.users=users;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicintgetAid(){
returnaid;
}
publicvoidsetAid(intaid){
this.aid=aid;
}
publicintgetPageNow(){
returnpageNow;
}
publicvoidsetPageNow(intpageNow){
this.pageNow=pageNow;
}
publicintgetPageSize(){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- struts20 hibernate oracle 分页问题 分页 问题
![提示](https://static.bdocx.com/images/bang_tan.gif)