利用Hibernate 逆向生成Model類 以及配置文件

1.鏈接數據庫 java

在Myeclipse的菜單選項依次: mysql

Window   ShowView   DB Browser 而後在DB Browser框內右鍵 New 出來下面的框: sql

我用的是Mysql 數據庫 數據庫

而後建立個sql文件 敲入下面的代碼 app

最上面的呃connection 選擇com.mysql.jdbc.Driver  Catablog 選擇數據庫名稱: eclipse

create table review(
 id Integer primary key auto_increment,
 article_id Integer,
 review_content text not null,
 publisher_name varchar(30) not null,
 publisher_email varchar(30) not null,
 publish_time varchar(30),
 foreign key (article_id) references article (id)
)

能夠本身手動敲 也能夠利用圖形界面工具生成。。 ide

而後右鍵 executeSql 執行sql腳本  到如今能夠去查看數據庫了 應該已經有了review表了。。 工具

2.下面的纔是重點。。 fetch

選中項目 而後右鍵 MyEclipse  Project Facets  選擇 Install  Hibenate Facet this

 

點擊Next

 

選擇完Package之後 直接Next

 

這是配置Hibernate.cfg.xml的 直接選擇DB Driver 之後 下面的選項就自動的填寫了

那麼就能夠直接Finish了。。

到這已經成功了一半。。

而後點開com.mysql.jdbc.Driver 知道創建的 review 表 選中 之後 右鍵 選擇 Hibernate Reverse Engineering

選中前面的兩項

若是你是習慣使用annotations選擇第一項的第一個選項

習慣使用XML文件選擇第二個選項

Package 什麼的本身看好了配置 通常不會出什麼錯、

這是生成的PoJO類

package com.yang.model;

/**
 * Review entity. @author MyEclipse Persistence Tools
 */

public class Review implements java.io.Serializable {

 // Fields

 private Integer id;
 private Article article;
 private String reviewContent;
 private String publisherName;
 private String publisherEmail;
 private String publishTime;

 // Constructors

 /** default constructor */
 public Review() {
 }

 /** minimal constructor */
 public Review(String reviewContent, String publisherName,
   String publisherEmail) {
  this.reviewContent = reviewContent;
  this.publisherName = publisherName;
  this.publisherEmail = publisherEmail;
 }

 /** full constructor */
 public Review(Article article, String reviewContent, String publisherName,
   String publisherEmail, String publishTime) {
  this.article = article;
  this.reviewContent = reviewContent;
  this.publisherName = publisherName;
  this.publisherEmail = publisherEmail;
  this.publishTime = publishTime;
 }

 // Property accessors

 public Integer getId() {
  return this.id;
 }

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

 public Article getArticle() {
  return this.article;
 }

 public void setArticle(Article article) {
  this.article = article;
 }

 public String getReviewContent() {
  return this.reviewContent;
 }

 public void setReviewContent(String reviewContent) {
  this.reviewContent = reviewContent;
 }

 public String getPublisherName() {
  return this.publisherName;
 }

 public void setPublisherName(String publisherName) {
  this.publisherName = publisherName;
 }

 public String getPublisherEmail() {
  return this.publisherEmail;
 }

 public void setPublisherEmail(String publisherEmail) {
  this.publisherEmail = publisherEmail;
 }

 public String getPublishTime() {
  return this.publishTime;
 }

 public void setPublishTime(String publishTime) {
  this.publishTime = publishTime;
 }

}

這是配置文件:

<hibernate-mapping>
    <class name="com.yang.model.Review" table="review" catalog="blog">
        <id name="id" type="integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <many-to-one name="article" class="Article" fetch="select">
            <column name="article_id" />
        </many-to-one>
        <property name="reviewContent" type="string">
            <column name="review_content" length="65535" not-null="true" />
        </property>
        <property name="publisherName" type="string">
            <column name="publisher_name" length="30" not-null="true" />
        </property>
        <property name="publisherEmail" type="string">
            <column name="publisher_email" length="30" not-null="true" />
        </property>
        <property name="publishTime" type="string">
            <column name="publish_time" length="30" />
        </property>
    </class>
</hibernate-mapping>

 

使用逆向配置的話 工做減輕了很多 不用來回的配置文件 並且從數據庫的關係思惟模型到面向對象的轉換 是藉助Hibernate實現的 咱們沒必要親自動手作這些工做了。。

相關文章
相關標籤/搜索