使用Hibernate根據數據庫表生成POJO和映射文件

Java的SSH工程中實體類、映射文件、數據庫表會因爲大小寫或是數據類型等對不上號,就運行不了。所以使用自動生成不但節省時間還可以避免低級錯誤,如果能再靈活運用一下,還會使開發效率提高不少。

首先,寫一下自動生成的步驟,我是使用的Eclipse,主要分三步:
1、切換到DB視圖,配置Eclipse連上數據庫
2、切換到Java視圖,在工程裏Add Hibernate Capabilities,配置好上一步增加的數據庫
3、切換到Hibernate視圖,選中需要的表生成即可。

其次,寫一下常用的Hibernate功能。
比如:我需要查詢的內容是每個老師名下的學生,教師表裏只記錄了學生的id,現在不但要顯示學生id還要顯示學生姓名,但是學生姓名在另一張學生信息登記表裏。有3種辦法可以解決:一是,後臺sql查詢完,返回的結構體和任何一個實體表都對不上,那就再新建一個實體類和一個不映射數據庫的Hibernate映射表,來存儲這個結果。二是,前端查一遍教師表,再查一遍學生信息表,綜合下再顯示。三是,利用Hibernate配置下自動完成兩張表的信息查詢。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.order.cc.chats.chatRecord.entity">
    <class name="AEntity" table="TABLE_A">

        <id name="id" type="java.lang.Integer">
            <column length="40" name="ID" />
            <generator class="increment"> </generator>
        </id>
        <property name="grade" column="GRADE" length="50" />
        <property name="teacherid" column="TEACHERID" length="50" />
        <property name="time" column="TIME" length="40" />
        <property name="name" type="string"
                  formula="(select t.namefrom detail t where t.id=ID)"
                  update="false"
                  insert="false"/>
    </class>
</hibernate-mapping>

注意,上邊那個update=”false” insert=”false”,說明這個字段在插入和更新時不啓用,只在查詢時啓用。手動點贊。


附:自動生成的具體步驟:https://jingyan.baidu.com/article/27fa7326e9ef8b46f8271f2a.html

  1. 創建數據庫,創建相應的表

    用MyEclipse自動生成hibernate映射文件和實體類
  2. 點擊圖標,選擇MyEclipse Datebase Explorer

    用MyEclipse自動生成hibernate映射文件和實體類
  3. 右擊空白區域,選擇new菜單,根據提示創建數據庫連接,創建好後會顯示你所創建的連接名,如圖mysqldb是我創建的數據庫連接

    用MyEclipse自動生成hibernate映射文件和實體類
    用MyEclipse自動生成hibernate映射文件和實體類
  4. 選擇需要添加hibernate映像文件的工程右擊—>MyEclipse–>Add Hibernate Capabilities

    用MyEclipse自動生成hibernate映射文件和實體類
  5. 出現如圖提示,根據提示下一步,不需要改動東西

    用MyEclipse自動生成hibernate映射文件和實體類
  6. 出現如圖提示,選擇剛剛創建的數據庫連接名,繼續下一步,最後finish

    用MyEclipse自動生成hibernate映射文件和實體類
    7

    剛剛自動生成的東西,有HibernateSessionFactory.java 和 hibernate.cfg.xml

  7. 到MyEclipse Datebase Explorer中剛剛新建的數據庫連接選中所有表,點擊右鍵—>Hibernate Reverse Enginnering 選中目錄存放將要反轉出來的實體類查看是否選中Update Hibernate configuration..若沒有自己勾選一下,下一步,如圖可以設置每張表中id增長方式,及生成的映射文件名稱

    用MyEclipse自動生成hibernate映射文件和實體類
    用MyEclipse自動生成hibernate映射文件和實體類
    用MyEclipse自動生成hibernate映射文件和實體類
    用MyEclipse自動生成hibernate映射文件和實體類
  8. 回到my eclipse enterprise視圖下,所有實體類以及配置文件已生成

    用MyEclipse自動生成hibernate映射文件和實體類
    END
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章