atitit.提升開發效率---MDA 軟體開發方式的革命(3)----自動化建表

來源:互聯網
上載者:User

標籤:des   style   blog   http   java   color   

atitit.提升開發效率---MDA 軟體開發方式的革命(3)----自動化建表

 

1. 建模在後自動建表 1

1. 傳統上,需要首先建表,在業務編碼.. 1

2. 模型驅動建表---更多簡化法是在建模在後自動建表 1

2. 自動建表的原理: 1

3. 自動建表工具::hibernate.hbm2ddl 跟Hibernate4.1 2

4. hbm2ddl最佳實務 2

3. hibernate.hbm2ddl.auto 2

5. Java語句執行 3

6. 使用Ant 執行hbm2ddl 3

7. QA 4

4. Table ‘gialenweixin.gv_material‘ doesn‘t exist 4

5. hibernate Attribute "value" must be declared for element type "property". 4

8. 參考 4

 

 

1. 建模在後自動建表1. 傳統上,需要首先建表,在業務編碼..

1.  摘要:很多程式只有原始碼,沒有配套的資料庫sql語句。這樣就很不容易示範或操作

 

2. 模型驅動建表---更多簡化法是在建模在後自動建表

 

作者:: 老哇的爪子 Attilax 艾龍,  EMAIL:[email protected]

轉載請註明來源: http://blog.csdn.net/attilax

 

2. 自動建表的原理:

Sql產生:讀取註解,產生sql,執行sql

 

3. 自動建表工具::hibernate.hbm2ddl 跟Hibernate4.1

配好的hibernate庫和資料庫的串連驅動。

資料庫必須串連上,可以沒有表。

Hibernate4.1已經可以自動建表,所以開發時只需要自己開發類然後配置好就OK。不需要考慮怎麼建表

Hibernate設定檔產生sql檔案

 

4. hbm2ddl最佳實務

update只是更新表結構,但不能產生..所以,你可以先用create屬性,然後運行一次後改用update,以免資料丟收

 

3. hibernate.hbm2ddl.auto

 

<property name="hibernate.hbm2ddl.auto" value="update" />

update: 
最常用的屬性,第一次載入hibernate時根據model類會自動建立起表的結構(前提是先建立好資料庫),以後載入 hibernate時根據 model類自動更新表結構,即使表結構改變了但表中的行仍然存在不會刪除以前的行。要注意的是當部署到伺服器後,表結構是不會被馬上建立起來的,是要等 應用第一次運行起來後才會。 
validate : 
每次載入hibernate時,驗證建立資料庫表結構,只會和資料庫中的表進行比較,不會建立新表,但是會插入新值

 

 

hbm2ddl 工具是個jar

 

hbm2ddl

5. Java語句執行

config = new Configuration()

                .configure(new File("src/hibernate.cfg.xml"));

 SchemaExport schemaExport = new SchemaExport(config);

        schemaExport.setOutputFile("E:\\sql1.txt");

        schemaExport.create(true, false);

        System.out.println("Table created.");

 

 

6. 使用Ant 執行hbm2ddl

 

·   <!-- create ddl form  *.hbm.xml -->  

·     <target name="hbm2ddl"    

·             description="Generate DB schema from the O/R mapping files">  

·         <taskdef name="hbm2ddl"   

·             classname="org.hibernate.tool.ant.HibernateToolTask"   

·             classpathref="libraries"/>  

·         <hbm2ddl destdir="${ddlsqldir}">  

·             <configuration configurationfile="${basedir}/hibernate.cfg.xml" />   

·             <hbm2ddl export="true" console="false" create="true" update="false" drop="false" outputfilename="ddl.sql"/>   

·         </hbm2ddl>     

·     </target>  

·   

7. QA4.  Table ‘gialenweixin.gv_material‘ doesn‘t exist

update只是更新表結構,但不能產生..所以,你可以先用create屬性,然後運行一次後改用update,以免資料丟收

 

5. hibernate Attribute "value" must be declared for element type "property".

 

<property name="hibernate.hbm2ddl.auto"  value=”update” />

Change to...  Hb ver  hb4

<property name="hibernate.hbm2ddl.auto"   >update</property>

 

8. 參考

hibernate4.0+版本和3.0+版本的區別總結_xidianzxm_新浪部落格.htm

Hibernate利用@DynamicInsert和@DynamicUpdate產生動態SQL語句 - QuantSeven - 部落格園.htm

Hibernate設定檔產生sql檔案_zjha4148_新浪部落格.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.