手把手教你在MyEclipse下反轉數據庫生成Hibernate配置

   在反轉之前,首先需要將HibernateSpring配置好(並非必須,後面會提到),需要在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 JARsAdd JARs->導入連接DBjar包即可]


信息填完後,點擊Test Driver測試是否成功連接。連接成功如下圖:

點擊Finish,即可在DB Browser看到新建的連接:

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

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

   另一個需要注意的是,上邊的Java package的包路徑是保存反轉後生成的PODAO以及.hbm.xml文件的地方。如果表太多,注意生成後的文件數目會比較大,不要同已有文件衝突。

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

   此時切換回MyEclipse Java Enterprise Perspective視圖,打開存放包下面就能夠看到生成好的PODAO.hbm.xml配置文件了!

   因爲在第三步選擇了Spring DAO,所以MyEclipse還會幫你在applicationContext.xml中自動創建好每個DAO的對應bean標籤,真是太方便了~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章