atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自己主动化建表
2. 模型驱动建表---很多其它简化法是在建模在后自己主动建表 1
3. 自己主动建表工具::hibernate.hbm2ddl 跟Hibernate4.1 2
4. Table 'gialenweixin.gv_material' doesn't exist 4
5. hibernate Attribute "value" must be declared for element type "property". 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)----自己主动化建表的更多相关文章
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...
- atitit.提升开发效率---mda 软件开发方式的革命--(2)
atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...
- atitit.提升开发效率---mda 软件开发方式的革命
atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...
- atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
)----列表查询建模 1. 配置条件字段@Conditional 1 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.ra ...
- atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模
)----编辑表单建模 1. 建模语言的选型anno+html...不是uml 1 2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1 ...
- atitit.提高开发效率---mda 革命性的软件开发方法
atitit.提高开发效率---mda 革命性的软件开发方法 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和事实上现相分离 2 3. 眼下的问题模型和代码不同步 2 4. ...
- Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...
- atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...
- atitit.提升开发效率---动态语言总结
atitit.提升开发效率---动态语言总结 ruby,python 都不错,就是语法不好, 应用不广泛,文档,工具都非常少,不推荐... php狠不错,就是高级特性不行.. 看来子有.net/jav ...
随机推荐
- C++STL源代码学习(之slist篇)
///stl_slist.h ///list为双向循环链表,slist为单向链表.某些操作效率更高 ///slist是SGI额外提供的单向链表,不属于C++标准 struct _Slist_node_ ...
- MFC绘制直方图和饼图
转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...
- [转]关于适配iphone5,Invalid Launch Image的退信
关于适配iphone5,Invalid Launch Image的退信 本人xcode 4.3,所开发客户端新版本准备提交,应用中做了关于iphone5的适配,然后打包提交.在提交审核的时候被拒,收到 ...
- [转载]Unity3D游戏引擎最详尽基础教程
原文地址:Unity3D游戏引擎最详尽基础教程作者:ShangShang 我一直向所有想做游戏的朋友推荐Unity3D,为什么呢?首先是因为专业,Unity3D非常强大,用它创建一个类似MiniGor ...
- .NET:何时应该 “包装异常”?
背景 提到异常,我们会想到:抛出异常.异常恢复.资源清理.吞掉异常.重新抛出异常.替换异常.包装异常.本文想谈谈 “包装异常”,主要针对这个问题:何时应该 “包装异常”? “包装异常” 的技术形式 包 ...
- 经典数独游戏+数独求解器—纯C语言实现
"心常乐数独小游戏"(下面简称"本软件")是一款windows平台下的数独游戏软件. 本软件是开源.免费软件. 本软件使用纯C语言编写,MinGW编译,NSIS ...
- APP的上线和推广——线上推广渠道
本文版权归个人所有,如需转载请注明出处http://www.cnblogs.com/PengLee/p/4637080.html 目录 应用商店 互联网开放平台 软件下载中心 媒体社交平台 刷榜推广 ...
- 第三章 LinkedList源码解析
一.对于LinkedList需要掌握的八点内容 LinkedList的创建:即构造器 往LinkedList中添加对象:即add(E)方法 获取LinkedList中的单个对象:即get(int in ...
- Javascript模块化工具require.js教程
转自:http://www.w3cschool.cc/w3cnote/requirejs-tutorial-1.html, http://www.w3cschool.cc/w3cnote/requir ...
- 利用Python爬虫爬取指定天猫店铺全店商品信息
本编博客是关于爬取天猫店铺中指定店铺的所有商品基础信息的爬虫,爬虫运行只需要输入相应店铺的域名名称即可,信息将以csv表格的形式保存,可以单店爬取也可以增加一个循环进行同时爬取. 源码展示 首先还是完 ...