Hibernate自动建表及一些相关技术总结
2015-08-31 23:38
330 查看
LZ最近从github上下载了一个struts2 + hibernate写成的J2EE的项目,其中就用到hibernate来操作数据库,那么我又重新研究了下hibernate这个操作数据库的工具。首先hibernate可以通过配置它的***.hbm.xml文件来进行反射配置自动生成相关的数据表。然后就是写几个关于每个表的java类,并且生成相应的***.hbm.xml文件来配置。当然这里要注意的是,还需要一个最关键的java来调用这个***.hbm.xml文件来生成相应的数据表,其中一个关键问题是hibernate的配置文件中有一个需要注意的地方,就是update/create的配置。具体的配置目录是<property
name="hibernate.hbm2ddl.auto">update</property>,这个中的配置可以有四个,分别是update/create/create-drop/validate这个文件,其中我们主要用的是update,这个表示每次在更新的时候,都可以不用重新新建表格,然后自动回根据与之前的表格比较来重新更新新的表格。接下来就是具体的调用***.hbm.xml的java代码了。
这个代码中有一个SchemaUpdate的类,这个类是用来根据配置文件来更新,当然也有一个SchemaExport的类,这个类的有一个方法是schemaExport.create(true,true)的方法,这个方法是每次在run这个java方法时候,就会重新新建表,所以这样就会就会把之前保存进数据库的数据给覆盖了,而不是原来的基础上重新填入。
name="hibernate.hbm2ddl.auto">update</property>,这个中的配置可以有四个,分别是update/create/create-drop/validate这个文件,其中我们主要用的是update,这个表示每次在更新的时候,都可以不用重新新建表格,然后自动回根据与之前的表格比较来重新更新新的表格。接下来就是具体的调用***.hbm.xml的java代码了。
public class create { static Session session; static Configuration config = null; static Transaction tx = null; public static void main(String args[]) { try { config = new Configuration().configure(new File("src/hibernate.cfg.xml")); SessionFactory sessionFactory = config.buildSessionFactory(); session = sessionFactory.openSession(); tx = session.beginTransaction(); SchemaUpdate schemeUpdate = new SchemaUpdate(config); schemeUpdate.execute(true,true); tx.commit(); } catch(HibernateException ex) { ex.printStackTrace(); } } }
这个代码中有一个SchemaUpdate的类,这个类是用来根据配置文件来更新,当然也有一个SchemaExport的类,这个类的有一个方法是schemaExport.create(true,true)的方法,这个方法是每次在run这个java方法时候,就会重新新建表,所以这样就会就会把之前保存进数据库的数据给覆盖了,而不是原来的基础上重新填入。
相关文章推荐
- 每天读一点儿APM(PIX)代码之一:调度总线AP_Scheduler
- Project Server 2016新特性预览——IT Pro 角度
- <HTTP协议详解>由浅入深看HTTP
- 浏览器缓存机制浅析
- 数学语言和程序语言的对比:面向过程与面向集合&命题
- hdu 4747(区间更新)
- PHP字符串函数
- HTML入门学习
- Reverse Integer
- C/C++编程细节(二)——堆栈、数组、指针
- 读写XML
- 剑指Offer面试题:18.二叉树的镜像
- 弹性盒模型
- hdu 5425 Rikka with Tree II(暴力)
- 深夜的一些想法
- ajax的再回首
- 【解决】eclipse不显示Android SDK Manager标签
- 菜鸟教程之工具使用(二十)——解决m2eclipse插件无法执行Maven命令
- hive的安装
- VI编辑器使用总结