StrutsHibernate模板开发笔记.docx
- 文档编号:28611646
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:46
- 大小:26.05KB
StrutsHibernate模板开发笔记.docx
《StrutsHibernate模板开发笔记.docx》由会员分享,可在线阅读,更多相关《StrutsHibernate模板开发笔记.docx(46页珍藏版)》请在冰豆网上搜索。
StrutsHibernate模板开发笔记
Struts+Hibernate模板开发笔记
一、建立数据库联结池
1.把数据库驱动程序拷入Tomcat5.0的common\lib目录下.
如:
oracle9i拷贝ojdbc14.jar
2.修改TOMCAT配置文件conf\server.xml.在之前加入如下代码:
\j_work\working\demo\demo" debug="5"reloadable="true"crossContext="true"> prefix="localhost_DBTest_log."suffix=".txt" timestamp="true"/> type="javax.sql.DataSource"/> oracle: thin: @192.168.3.200: 1521: demo 二、建立测试数据库 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" " comp/env/jdbc/demo --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:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- StrutsHibernate 模板 开发 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)