討厭鬼最大的動力來源

原本發完Spring那篇文章時~想說要再接再勵的發Hibernate的文章

但是我熊熊想到我的新筆電沒有灌資料庫呀~~~~~~~

所以這幾天在為資料庫所煩惱

最後用了免費又好用的MySQL

因為Hibernate的教學有點多~所以就分成上下篇

造成各位客倌的不便請多多包含

讓我們進入正題吧!!!!!!!!!!!!!

 

 

 

這次討厭鬼要配置Struts2+Spring+Hibernate

當然Struts2+Spring的配置在前兩篇已經做過了

所以這次就是專門配置Hibernate

還沒有配置過Struts2+Spring的請先看前兩篤的教學 Struts2 架構配置教學 & Struts2+Spring架構配置教學(Spring)

在還沒有開炲前~請先注意!!!

先將Hibernate Tools 灌到你的Eclipse中 非常的重要

 

 

這次配置Hibernate所需的jar檔如下

org.springframework.orm-3.1.1.RELEASE.jar
org.springframework.transaction-3.1.1.RELEASE.jar
org.springframework.jdbc-3.1.1.RELEASE.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
mysql-connector-java-5.0.8-bin.jar
jta-1.1.jar
dom4j-1.6.1.jar
slf4j-api-1.6.1.jar
commons-collections-3.1.jar
mysql-connector-java-5.0.8-bin.jar

 

 

在這裡比較特別的是~我是將mysql-connector-java-5.0.8-bin.jar放在tomcat6的lib下而不是直接放在WEB-INF下的lib

這麼做的話~之後要再建置其它會用到MySQL專案時就不用在把mysql-connector-java-5.0.8-bin.jar再放一次了

所在在這邊要先對專案按右鍵 > Build Path > Configure Build Path

點選Libraries頁籤

點Add Library

再點選Server Runtime > Apache Tomcat(Runtime) V6.0 (這邊要看你的tomcat是用哪一版的)

接下來先把資料庫的entity產生出來

所以要先始用Hibernate Tools

 

 

 

首先~先對src按右鍵 > new > other

srcCfg

 

 

 

再選取Hibernate Coonfiguration File(cfg.xml)

點選Next

srcCfg1

 

 

 

點選Next

srcCfg2

 

 

 

先點選符合自己資料庫的dialect~討厭鬼在這是用MySQL 5 (InnoDB)

再來是Driver class 看要選org.gjt.mm.mysql.Driver 或是 com.mysql.jdbc.Driver都可以

再來是資料庫位置 格式為 jdbc:mysql://xxx.xxx.xxx.xxx:3306/資料庫名稱

討厭鬼的位置為 jdbc:mysql://192.168.1.113:3306/leather

再來就是username跟password 輸入各位客倌資料庫的帳號密碼

討厭鬼的帳號密碼為 leather / 123456

再將Create a console configuration 打勾

再按Finish

srcCfg3

 

 

 

這樣就會有一個資料庫連線的檔案了

 

 

 

再對src按右鍵 > new > other

srcCfg

 

 

 

再選取Hibernate Reverse Engineering File(reveng.xml)

點選Next

srcReg1

 

 

 

點選Next

srcReg2

 

 

 

 

Console configuration 選你剛剛建出來的 ( 基本上都是專案名稱 或是專案名稱(1) )

再點選Refresh就會出現你的資料庫了 (若沒有出現請關掉Eclipse 或是 關機重開)

點選資料庫的下拉選單就會出現各位客倌的資料表

這時可以按Shift點選多個資料表再按Include(在這邊討厭鬼只有一個資料表)

最後再按Finish

檔案就出來了

srcReg3  

 

 

 

接下來點選上方工具列Run Hibernate > Hibernate Code Generation Configurations
(找不到的話~請將模式改成Hibernate模式就可以找到了 Window > Open Perspective > Other >Hibernate)

icon

HibernateCfg

 

 

 

點選Hibernate Code Generation右鍵new

HibernateCfg1

 

 

 

先看Main頁籤

Output directory 選擇專案的src資料夾

再將Reverse engineer from JDBC Connection 打勾

Package 選擇你要放entity的資料夾(討厭鬼是nerdy.entity)

reveng.xml 選擇各位客倌剛剛建立出來的位置(Setup > Use existing)

HibernateCfg3HibernateCfg2

 

 

 

 

再來切換到Exporters

將Use Java 5 syntax 、Generate EJB3 annotations、Domain code(.java) 三項打勾

再點選apply後再點選Run

HibernateCfg4

 

 

 

這時你的entity的package就會有資料出來了

 entity             

文章標籤
創作者介紹
創作者 討厭鬼 的頭像
討厭鬼

討厭鬼教學

討厭鬼 發表在 痞客邦 留言(5) 人氣()


留言列表 (5)

發表留言
  • 派翠克
  • 謝謝大大分享
    目前正在研究SSH
    做到這邊都沒問題
    寫得很詳細
    謝謝
  • Adam
  • 我照著步驟做,最後生出hibernate檔案後系統顯示
    1.package adam.yeh;
    2.
    3.// Generated 2015/5/19 下午 06:22:14 by Hibernate Tools 3.4.0.CR1
    4./**
    5.* Table generated by hbm2java
    6.*/
    7.Mason
    8.table (name = "Table", catalog = "rd21")
    public class Table implements java.io.Serializable {

    private TableId id;

    public Table() {
    }

    public Table(TableId id) {
    this.id = id;
    }

    @EmbeddedId
    @AttributeOverrides({
    @AttributeOverride(name = "p1", column = @Column(name = "P1", nullable = false, length = 65535)),
    @AttributeOverride(name = "p2", column = @Column(name = "P2", nullable = false, length = 65535)) })
    public TableId getId() {
    return this.id;
    }

    public void setId(TableId id) {
    this.id = id;
    }
    }

    第八行的"table "這段錯誤,訊息為:類型不符:無法從 Table 轉換為 Annotation

    請問這樣該怎麼解決????
  • 求救
  • 我在設置Hibernate Coonfiguration File(cfg.xml)時候總是連不上mysql
    我使用的mysql5.7
    我缺了甚麼東西
  • 有錯誤訊息嗎?沒有的話討厭鬼也沒有辦法幫忙

    討厭鬼 於 2015/12/16 17:36 回覆

  • 求助
  • 討厭鬼 您好我想請問您 我的entity資料表產生後都會分成兩個.java
    一個是Users.java
    另一個是UsersId.java
    資料表名稱是Users
    這樣是對的嗎?