StrutsHibernate模板开发笔记.docx

上传人:b****8 文档编号:28611646 上传时间:2023-07-19 格式:DOCX 页数:46 大小:26.05KB
下载 相关 举报
StrutsHibernate模板开发笔记.docx_第1页
第1页 / 共46页
StrutsHibernate模板开发笔记.docx_第2页
第2页 / 共46页
StrutsHibernate模板开发笔记.docx_第3页
第3页 / 共46页
StrutsHibernate模板开发笔记.docx_第4页
第4页 / 共46页
StrutsHibernate模板开发笔记.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

StrutsHibernate模板开发笔记.docx

《StrutsHibernate模板开发笔记.docx》由会员分享,可在线阅读,更多相关《StrutsHibernate模板开发笔记.docx(46页珍藏版)》请在冰豆网上搜索。

StrutsHibernate模板开发笔记.docx

StrutsHibernate模板开发笔记

Struts+Hibernate模板开发笔记

一、建立数据库联结池

1.把数据库驱动程序拷入Tomcat5.0的common\lib目录下.

如:

oracle9i拷贝ojdbc14.jar

2.修改TOMCAT配置文件conf\server.xml.在之前加入如下代码:

debug="5"reloadable="true"crossContext="true">

prefix="localhost_DBTest_log."suffix=".txt"

timestamp="true"/>

type="javax.sql.DataSource"/>

factory

mons.dbcp.BasicDataSourceFactory

driverClassName

oracle.jdbc.driver.OracleDriver

url

jdbc:

oracle:

thin:

@192.168.3.200:

1521:

demo

username

demo

password

demo

maxActive

20

maxIdle

10

maxWait

-1

二、建立测试数据库

1.建立数据库用户名demo密码demo

2.建立测试表

建立测试表demo

字段说明

idchar(100)     主键

namevarchar2(50)  名字

image_idnumber(10) 图片id

system_datedate   系统日期

user_datedate    录入日期

建立图片索引表image

字段说明

idchar(100)           主键

titlevarchar2(50)        图片标题

messagevarchar2(2000)      图片信息

original_image_pathvarchar(200) 原始图片保存路径

small_image_pathvarchar(200)  小图片保存路径

image_idnumber(10)       图片id

system_datedate        系统日期

id索引表Singleton_Id

字段说明

idchar(100)   主键

namevarchar2(50) 索引名(需要为此字段建索引)

valuenumber(10) 索引id

三、建立Hibernate配置

1.拷贝Oracle9i数据库驱动程序ojdbc14.jar到JBUILDER9安装目录的LIB目录下.用JBUILDER9.0建立PROJECT工程.

2.把如下hibernate-2.0.3必须的库文件包含在工程中.

hibernate2.jar

commons-beanutils.jar

commons-collections.jar

commons-dbcp.jar

commons-lang.jar

commons-logging.jar

commons-pool.jar

dom4j.jar

cglib-asm.jar

connector.jar

3.建立hibernate.cfg.xml文件,并拷到SRC目录

xmlversion='1.0'encoding='utf-8'?

>

DOCTYPEhibernate-configuration

PUBLIC"-//Hibernate/HibernateConfigurationDTD//EN"

"

java:

comp/env/jdbc/demo

true

true

net.sf.hibernate.dialect.Oracle9Dialect

--Mappingfiles-->

--mappingresource="com\kmtava\qtmis\jdo\TCzy.hbm.xml"/-->

四、把数据库的表映射为类

下载hibernate-extensions压缩包.修改setenv.bat文件中的环境变量.主要修改Hibernate的目录和数据库驱动程序文件名.

例如:

@echooff

rem-------------------------------------------------------------------

remSetupenvironmentforhibernatetools

rem-------------------------------------------------------------------

setJDBC_DRIVER=..\..\..\lib\ojdbc14.jar

setHIBERNATE_HOME=..\..\..\hibernate-2.0.3

setCORELIB=%HIBERNATE_HOME%\lib

setLIB=..\lib

setPROPS=%HIBERNATE_HOME%\src

setCP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%\commons-logging.jar;%CORELIB%\commons-collections.jar;

%CORELIB%\commons-lang.jar;%CORELIB%\cglib.jar;%CORELIB%\dom4j.jar;%CORELIB%\odmg.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces.jar;

%CORELIB%\xalan.jar;%LIB%\jdom.jar;%LIB%\..\hibernate-tools.jar

运行ddl2hbm.bat,设置参数如下:

[CONNECTION]

DRIVERCLASS:

oracle.jdbc.driver.OracleDriver        (org.gjt.mm.mysql.Driver)

CONNECTIONURL:

jdbc:

oracle:

thin:

@192.168.3.200:

1521:

demo  (jdbc:

mysql:

//localhost/authority)

USER:

demo

PASSWORD:

demo

[MAPPING]

KEYFIELD:

id

SCHEMAEXPORT:

uuid.hex

[CODE]

PACKAGENAME:

pany.demo.jdo

[OUTPUT]

F:

\j_work\working\demo\src

其它的用默认值,点[TABLES]的tables..选择表,程序生成类和xml

生成的文件如下:

(1)image.java

packagepany.demo.jdo;

importjava.io.Serializable;

importjava.util.Date;

importmons.lang.builder.EqualsBuilder;

importmons.lang.builder.HashCodeBuilder;

importmons.lang.builder.ToStringBuilder;

/**@authorHibernateCodeGenerator*/

publicclassImageimplementsSerializable{

/**identifierfield*/

privateStringid;

/**nullablepersistentfield*/

privateStringtitle;

/**nullablepersistentfield*/

privateStringmessage;

/**nullablepersistentfield*/

privateStringoriginalImagePath;

/**nullablepersistentfield*/

privateStringsmallImagePath;

/**nullablepersistentfield*/

privatelongimageId;

/**nullablepersistentfield*/

privateDatesystemDate;

/**fullconstructor*/

publicImage(Stringtitle,Stringmessage,StringoriginalImagePath,StringsmallImagePath,longimageId,DatesystemDate){

this.title=title;

this.message=message;

this.originalImagePath=originalImagePath;

this.smallImagePath=smallImagePath;

this.imageId=imageId;

this.systemDate=systemDate;

}

/**defaultconstructor*/

publicImage(){

}

publicStringgetId(){

returnthis.id;

}

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetTitle(){

returnthis.title;

}

publicvoidsetTitle(Stringtitle){

this.title=title;

}

publicStringgetMessage(){

returnthis.message;

}

publicvoidsetMessage(Stringmessage){

this.message=message;

}

publicStringgetOriginalImagePath(){

returnthis.originalImagePath;

}

publicvoidsetOriginalImagePath(StringoriginalImagePath){

this.originalImagePath=originalImagePath;

}

publicStringgetSmallImagePath(){

returnthis.smallImagePath;

}

publicvoidsetSmallImagePath(StringsmallImagePath){

this.smallImagePath=smallImagePath;

}

publiclonggetImageId(){

returnthis.imageId;

}

publicvoidsetImageId(longimageId){

this.imageId=imageId;

}

publicDategetSystemDate(){

returnthis.systemDate;

}

publicvoidsetSystemDate(DatesystemDate){

this.systemDate=systemDate;

}

publicStringtoString(){

returnnewToStringBuilder(this)

.append("id",getId())

.toString();

}

publicbooleanequals(Objectother){

if(!

(otherinstanceofImage))returnfalse;

ImagecastOther=(Image)other;

returnnewEqualsBuilder()

.append(this.getId(),castOther.getId())

.isEquals();

}

publicinthashCode(){

returnnewHashCodeBuilder()

.append(getId())

.toHashCode();

}

}

(2)Image.hbm.xml

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD2.0//EN""

其它生成的文件略!

五、模板中的包定义

pany.demo.dataModule  数据模型

pany.demo.dao     DAO模型

pany.demo.exception  异常

pany.demo.jdo      hibernate类映射  

pany.demo.start    启动JSP服务时加载的类

pany.demo.tags     自定义标签类

pany.demo.thread    线程类

pany.demo.util     工具类

pany.demo.web      Struts类

pany.demo.facade    Facade调用的类

六、设计模式:

单例

1.数据模型

接口(Datamodule.java)

packagepany.demo.datamodule;

packagepany.demo.datamodule;

importnet.sf.hibernate.Session;

importnet.sf.hibernate.Transaction;

importnet.sf.hibernate.HibernateException;

importnet.sf.hibernate.SessionFactory;

importnet.sf.hibernate.cfg.Configuration;

/**

*

Title:

Struts+Hibernate开发模板

*

Description:

通用开发模板

*

Copyright:

Copyright(c)2003

*

Company:

优势科技

*@author段洪杰

*@version1.0

*/

publicinterfaceDataModule{

publicSessionFactorygetSessionFactory();

}

数据模型(DatamoduleImpl.java)

packagepany.demo.datamodule;

/**

*

Title:

Struts+Hibernate开发模板

*

Description:

通用开发模板

*

Copyright:

Copyright(c)2003

*

Company:

优势科技

*@author段洪杰

*@version1.0

*/

importnet.sf.hibernate.Session;

importnet.sf.hibernate.Transaction;

importnet.sf.hibernate.HibernateException;

importnet.sf.hibernate.SessionFactory;

importnet.sf.hibernate.cfg.Configuration;

/**

*建立SessionFactory

*/

publicclassDataModuleImplimplementsDataModule{

privateSessionFactorysessionFactory;

publicDataModuleImpl()throwsHibernateException{

sessionFactory=newConfiguration().configure().buildSessionFactory();

}

/**

*从dataModule中取得SessionFactory

*/

publicSessionFactorygetSessionFactory(){

returnthis.sessionFactory;

}

}

2.产生唯一ID的父类

接口(SingletonIdDAO.java)

packagepany.demo.dao;

/**

*

Title:

Struts+Hibernate开发模板

*

Description:

通用开发模板

*

Copyright:

Copyright(c)2003

*

Company:

优势科技

*@author段洪杰

*@version1.0

*/

publicinterfaceSingletonIdDAO{

}

ID父类(SingletonIdDAOImpl.java)

packagepany.demo.dao;

importjava.util.List;

importpany.demo.datamodule.*;

importpany.demo.jdo.SingletonId;

importnet.sf.hibernate.SessionFactory;

importnet.sf.hibernate.HibernateException;

importnet.sf.hibernate.Session;

importnet.sf.hibernate.Transaction;

importnet.sf.hibernate.Query;

/**

*产生唯一的ID

*

*数据库结构(ORACLE9i):

*表名SINGLETON_ID

*字段id(char)namevarchar2(50)valuenumber(10.0)

*

*

*

Title:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1