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语句。这样就非常不easy演示或操作

2. 模型驱动建表---很多其它简化法是在建模在后自己主动建表

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: 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类自己主动更新表结构,即使表结构改变了但表中的行仍然存在不会删除曾经的行。要注意的是当部署到server后。表结构是不会被立即建立起来的,是要等 应用第一次执行起来后才会。 

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. QA

4.  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

atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表的更多相关文章

  1. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表

    atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...

  2. atitit.提升开发效率---mda 软件开发方式的革命--(2)

    atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...

  3. atitit.提升开发效率---mda 软件开发方式的革命

    atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...

  4. atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模

    )----列表查询建模 1. 配置条件字段@Conditional 1 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.ra ...

  5. atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模

    )----编辑表单建模 1. 建模语言的选型anno+html...不是uml 1 2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1 ...

  6. atitit.提高开发效率---mda 革命性的软件开发方法

    atitit.提高开发效率---mda 革命性的软件开发方法 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和事实上现相分离 2 3. 眼下的问题模型和代码不同步 2 4.  ...

  7. Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结

    Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...

  8. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较

    atitit.提升开发效率---使用服务器控件生命周期  asp.net 11个阶段  java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...

  9. atitit.提升开发效率---动态语言总结

    atitit.提升开发效率---动态语言总结 ruby,python 都不错,就是语法不好, 应用不广泛,文档,工具都非常少,不推荐... php狠不错,就是高级特性不行.. 看来子有.net/jav ...

随机推荐

  1. pig—WordCount analysis

    grunt> cat /opt/dataset/input.txt keyword1 keyword2 keyword2 keyword4 keyword3 keyword1 keyword4 ...

  2. Android4.2.2启动动画前播放视频

    首先声明測试平台为瑞芯微的rk3168,Android4.2.2,Android版本号非常重要,由于Android4.0和Android4.2.2的代码有些地方就有差别,并不通用! 首先接到任务不知怎 ...

  3. 使用Redis实现抢购的一种思路(list队列实现)

    原文:https://my.oschina.net/chinaxy/blog/1829233 抢购是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如 ...

  4. Android实例剖析笔记(一)

    摘要:用实例讲解Andriod的开发过程 开卷语 俗话说,“熟读唐诗三百首,不会作诗也会吟”.最近收集了很多Android的示例代码,从这些代码的阅读和实验中学习到很多知识,从而产生写这个系列的打算, ...

  5. Android调用手机中的应用市场,去评分的功能实现

    在我们常常使用的软件当中,我们经常可以看到在软件的设置界面,有一个功能那就是去评分的功能,只要我们一点击“去评分”就会调用手机中的应用市场软件.一开始我以为这个功能的实现是要遍历整个手机中的软件包名, ...

  6. java 实现好看的图形验证码

    package com.invoice.utils; import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.Aff ...

  7. (学)如何在Oracle中一次执行多条sql语句

    队长同学原来的地址:https://www.cnblogs.com/teamleader/archive/2007/05/31/765943.html队长同学原来的描述: 有时我们需要一次性执行多条s ...

  8. Spark从HDFS上读取JSON数据

    代码如下: import org.apache.spark.sql.Row; import org.apache.spark.SparkConf; import org.apache.spark.ap ...

  9. WhyEngine游戏引擎作品合集

    从9月份开始写三个月内总共实现了13个游戏,5个屏保程序,5个DEMO程序.如果运行时,报有木马病毒什么的,请相信我,这绝对是杀毒软件的误报,自己写的程序由于没有得到杀毒软件的认证,被报有危险是正常的 ...

  10. go语言基础之结构体成员的使用指针变量

    1.结构体成员的使用:指针变量 示例: package main //必须有个main包 import "fmt" //定义一个结构体类型 type Student struct ...