1.建立資料庫使用者名稱 demo 密碼 demo 2.建立測試表 建立測試表 demo 欄位說明 id char(100) 主鍵 name varchar2(50) 名字 image_id number(10) 圖片id system_date date 系統日期 user_date date 錄入日期 建立圖片索引表 image 欄位說明 id char(100) 主鍵 title varchar2(50) 圖片標題 message varchar2(2000) 圖片資訊 original_image_path varchar(200) 原始圖片儲存路徑 small _image_path varchar(200) 小圖片儲存路徑 image_id number(10) 圖片id system_date date 系統日期 id索引表 Singleton_Id 欄位說明 id char(100) 主鍵 name varchar2(50) 索引名(需要為此欄位建索引) value number(10) 索引id Struts+Hibernate模板開發筆記---建立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目錄 <?xml version='1.0' encoding='utf-8'?> Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> <HIBERNATE-CONFIGURATION> <SESSION-FACTORY> <property name="connection.datasource">java:comp/env/jdbc/demo</property> <property name="show_sql">true</property> <property name="use_outer_join">true</property> <property name="dialect">net.sf.hibernate.dialect.Oracle9Dialect</property> </SESSION-FACTORY> </HIBERNATE-CONFIGURATION>
Struts+Hibernate模板開發筆記---把資料庫的表映射為類 下載 hibernate-extensions 壓縮包. 修改 setenv.bat檔案中的環境變數.主要修改Hibernate的目錄和資料庫驅動程式檔案名稱. 例如: @echo off rem -------------------------------------------------------------------rem Setup environment for hibernate toolsrem -------------------------------------------------------------------set JDBC_DRIVER=../../../lib/ojdbc14.jarset HIBERNATE_HOME=../../../hibernate-2.0.3set CORELIB=%HIBERNATE_HOME%/libset LIB=../libset PROPS=%HIBERNATE_HOME%/srcset CP=%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 ] DRIVER CLASS : oracle.jdbc.driver.OracleDriver (org.gjt.mm.mysql.Driver)CONNECTION URL: jdbc:oracle:thin:@192.168.3.200:1521:demo (jdbc:mysql://localhost/authority)USER: demoPASSWORD: demo[ MAPPING ]KEY FIELD : idSCHEMAEXPORT : uuid.hex[ CODE ]PACKAGE NAME: com.company.demo.jdo[ OUTPUT ]F:/j_work/working/demo/src 其它的用預設值,點[TABLES]的tables..選擇表,程式產生類和xml 產生的檔案如下: (1)image.java package com.company.demo.jdo; import java.io.Serializable;import java.util.Date;import org.apache.commons.lang.builder.EqualsBuilder;import org.apache.commons.lang.builder.HashCodeBuilder;import org.apache.commons.lang.builder.ToStringBuilder;/** @author Hibernate CodeGenerator */public class Image implements Serializable {/** identifier field */private String id;/** nullable persistent field */private String title;/** nullable persistent field */private String message;/** nullable persistent field */private String originalImagePath;/** nullable persistent field */private String smallImagePath;/** nullable persistent field */private long imageId;/** nullable persistent field */private Date systemDate;/** full constructor */public Image(String title, String message, String originalImagePath, String smallImagePath, long imageId, Date systemDate) {this.title = title;this.message = message;this.originalImagePath = originalImagePath;this.smallImagePath = smallImagePath;this.imageId = imageId;this.systemDate = systemDate;}/** default constructor */public Image() {}public String getId() {return this.id;}public void setId(String id) {this.id = id;}public String getTitle() {return this.title;}public void setTitle(String title) {this.title = title;}public String getMessage() {return this.message;}public void setMessage(String message) {this.message = message;}public String getOriginalImagePath() {return this.originalImagePath;}public void setOriginalImagePath(String originalImagePath) {this.originalImagePath = originalImagePath;}public String getSmallImagePath() {return this.smallImagePath;}public void setSmallImagePath(String smallImagePath) {this.smallImagePath = smallImagePath;}public long getImageId() {return this.imageId;}public void setImageId(long imageId) {this.imageId = imageId;}public Date getSystemDate() {return this.systemDate;}public void setSystemDate(Date systemDate) {this.systemDate = systemDate;}public String toString() {return new ToStringBuilder(this).append("id", getId()).toString();}public boolean equals(Object other) {if ( !(other instanceof Image) ) return false;Image castOther = (Image) other;return new EqualsBuilder().append(this.getId(), castOther.getId()).isEquals();}public int hashCode() {return new HashCodeBuilder().append(getId()).toHashCode();}}(2)Image.hbm.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="com.company.demo.jdo.Image" schema="DEMO" table="IMAGE"><id column="ID" name="id" type="string"><generator class="uuid.hex"/></id><property column="TITLE" length="50" name="title" type="string"/><property column="MESSAGE" length="2000" name="message" type="string"/><property column="ORIGINAL_IMAGE_PATH" length="200" name="originalImagePath" type="string"/><property column="SMALL_IMAGE_PATH" length="200" name="smallImagePath" type="string"/><property column="IMAGE_ID" length="10" name="imageId" type="long"/><property column="SYSTEM_DATE" length="7" name="systemDate" type="timestamp"/></class></hibernate-mapping> 其它產生的檔案略! Struts+Hibernate模板開發筆記---模板中的包定義 com.company.demo.dataModule 資料模型 com.company.demo.dao DAO模型 com.company.demo.exception 異常 com.company.demo.jdo hibernate類映射 com.company.demo.start 啟動JSP服務時載入的類 com.company.demo.tags 自訂標籤類 com.company.demo.thread 線程類 com.company.demo.util 工具類 com.company.demo.web Struts類 com.company.demo.facade Facade調用的類
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目錄 <?xml version='1.0' encoding='utf-8'?> Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> <HIBERNATE-CONFIGURATION> <SESSION-FACTORY> <property name="connection.datasource">java:comp/env/jdbc/demo</property> <property name="show_sql">true</property> <property name="use_outer_join">true</property> <property name="dialect">net.sf.hibernate.dialect.Oracle9Dialect</property> </SESSION-FACTORY> </HIBERNATE-CONFIGURATION>
Struts+Hibernate模板開發筆記---把資料庫的表映射為類 下載 hibernate-extensions 壓縮包. 修改 setenv.bat檔案中的環境變數.主要修改Hibernate的目錄和資料庫驅動程式檔案名稱. 例如: @echo off rem -------------------------------------------------------------------rem Setup environment for hibernate toolsrem -------------------------------------------------------------------set JDBC_DRIVER=../../../lib/ojdbc14.jarset HIBERNATE_HOME=../../../hibernate-2.0.3set CORELIB=%HIBERNATE_HOME%/libset LIB=../libset PROPS=%HIBERNATE_HOME%/srcset CP=%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 ] DRIVER CLASS : oracle.jdbc.driver.OracleDriver (org.gjt.mm.mysql.Driver)CONNECTION URL: jdbc:oracle:thin:@192.168.3.200:1521:demo (jdbc:mysql://localhost/authority)USER: demoPASSWORD: demo[ MAPPING ]KEY FIELD : idSCHEMAEXPORT : uuid.hex[ CODE ]PACKAGE NAME: com.company.demo.jdo[ OUTPUT ]F:/j_work/working/demo/src 其它的用預設值,點[TABLES]的tables..選擇表,程式產生類和xml 產生的檔案如下: (1)image.java package com.company.demo.jdo; import java.io.Serializable;import java.util.Date;import org.apache.commons.lang.builder.EqualsBuilder;import org.apache.commons.lang.builder.HashCodeBuilder;import org.apache.commons.lang.builder.ToStringBuilder;/** @author Hibernate CodeGenerator */public class Image implements Serializable {/** identifier field */private String id;/** nullable persistent field */private String title;/** nullable persistent field */private String message;/** nullable persistent field */private String originalImagePath;/** nullable persistent field */private String smallImagePath;/** nullable persistent field */private long imageId;/** nullable persistent field */private Date systemDate;/** full constructor */public Image(String title, String message, String originalImagePath, String smallImagePath, long imageId, Date systemDate) {this.title = title;this.message = message;this.originalImagePath = originalImagePath;this.smallImagePath = smallImagePath;this.imageId = imageId;this.systemDate = systemDate;}/** default constructor */public Image() {}public String getId() {return this.id;}public void setId(String id) {this.id = id;}public String getTitle() {return this.title;}public void setTitle(String title) {this.title = title;}public String getMessage() {return this.message;}public void setMessage(String message) {this.message = message;}public String getOriginalImagePath() {return this.originalImagePath;}public void setOriginalImagePath(String originalImagePath) {this.originalImagePath = originalImagePath;}public String getSmallImagePath() {return this.smallImagePath;}public void setSmallImagePath(String smallImagePath) {this.smallImagePath = smallImagePath;}public long getImageId() {return this.imageId;}public void setImageId(long imageId) {this.imageId = imageId;}public Date getSystemDate() {return this.systemDate;}public void setSystemDate(Date systemDate) {this.systemDate = systemDate;}public String toString() {return new ToStringBuilder(this).append("id", getId()).toString();}public boolean equals(Object other) {if ( !(other instanceof Image) ) return false;Image castOther = (Image) other;return new EqualsBuilder().append(this.getId(), castOther.getId()).isEquals();}public int hashCode() {return new HashCodeBuilder().append(getId()).toHashCode();}}(2)Image.hbm.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="com.company.demo.jdo.Image" schema="DEMO" table="IMAGE"><id column="ID" name="id" type="string"><generator class="uuid.hex"/></id><property column="TITLE" length="50" name="title" type="string"/><property column="MESSAGE" length="2000" name="message" type="string"/><property column="ORIGINAL_IMAGE_PATH" length="200" name="originalImagePath" type="string"/><property column="SMALL_IMAGE_PATH" length="200" name="smallImagePath" type="string"/><property column="IMAGE_ID" length="10" name="imageId" type="long"/><property column="SYSTEM_DATE" length="7" name="systemDate" type="timestamp"/></class></hibernate-mapping> 其它產生的檔案略! Struts+Hibernate模板開發筆記---模板中的包定義 com.company.demo.dataModule 資料模型 com.company.demo.dao DAO模型 com.company.demo.exception 異常 com.company.demo.jdo hibernate類映射 com.company.demo.start 啟動JSP服務時載入的類 com.company.demo.tags 自訂標籤類 com.company.demo.thread 線程類 com.company.demo.util 工具類 com.company.demo.web Struts類 com.company.demo.facade Facade調用的類
|