天天看點

手把手教你在MyEclipse下反轉資料庫生成Hibernate配置

   在反轉之前,首先需要将Hibernate和Spring配置好(并非必須,後面會提到),需要在applicationContext.xml檔案中配置以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver">
        </property>
        <property name="url"
            value="jdbc:mysql://127.0.0.1:3306/zq?useUnicode=true&amp;characterEncoding=UTF-8">
        </property>
        <property name="username" value="root"></property>
        <property name="password" value=""></property>
    </bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
                <prop key="show_sql">true</prop>
            </props>
        </property>
        <property name="mappingResources">
            <list>
                <!-- 在反轉之後,将所有表的Hibernate配置*.hbm.xml導入 -->
                <!-- 如<value>com/jsu/po/Area.hbm.xml</value> -->
            </list>
        </property>
    </bean>
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="hibernateTransactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>      

上面是常用的Spring配置内容,但如果想要先測試反轉的效果,最少隻需要配置好sessionFactory就可以了。

配置好Spring之後,我們來利用Hibernate進行資料庫反轉。使用的是MyEclipse9。

   第一步:打開MyEclipse Hibernate Perspective。

第二步:在DB Browser視窗空白處單擊右鍵->New,彈出Database Driver對話框,依次填入資訊,如下圖。

[Driver template:驅動模型(筆者選擇的是MySQL)

Driver name:驅動名稱,顯示在DB Browser視窗中的名稱

Connection URL:資料庫連接配接字元串

User name:資料庫使用者名

Password:對應使用者的密碼

Driver JARs:Add JARs->導入連接配接DB的jar包即可]

手把手教你在MyEclipse下反轉資料庫生成Hibernate配置

資訊填完後,點選Test Driver測試是否成功連接配接。連接配接成功如下圖:

手把手教你在MyEclipse下反轉資料庫生成Hibernate配置

點選Finish,即可在DB Browser看到建立的連接配接:

手把手教你在MyEclipse下反轉資料庫生成Hibernate配置

第三步:選中所有需要反轉的資料表,右鍵選擇Hibernate Reverse Engineering,彈出相應對話框,按照下面這樣選擇:

手把手教你在MyEclipse下反轉資料庫生成Hibernate配置

   文章開頭提到需要配置Spring,這并非是必需的。如果正确配置了Spring,上面的DAO type就能夠選擇生成Spring DAO,下面的Spring config file和SessionFactory Id才可用。這樣子反轉之後,所有表的Hibernate配置檔案(*.hbm.xml)都能夠自動插入到applicationContext.xml中的對應位置。但如果沒有配置Spring,那麼DAO type中的Spring DAO就不可選。這樣子的話生成的DAO會與Spring DAO有所差別,這個筆者不太熟悉。

   另一個需要注意的是,上邊的Java package的包路徑是儲存反轉後生成的PO、DAO以及.hbm.xml檔案的地方。如果表太多,注意生成後的檔案數目會比較大,不要同已有檔案沖突。

   點選Finish,MyEclipse此時可能會警告存放包路徑下有重名,确認無誤後确定即可自動反轉。看具體開發環境,快的話幾秒鐘時間就能夠完成。

   此時切換回MyEclipse Java Enterprise Perspective視圖,打開存放包下面就能夠看到生成好的PO、DAO和.hbm.xml配置檔案了!

   因為在第三步選擇了Spring DAO,是以MyEclipse還會幫你在applicationContext.xml中自動建立好每個DAO的對應bean标簽,真是太友善了~

轉載于:https://blog.51cto.com/baikkp/1240543