`

ch06 Hibernate反向工程

 
阅读更多
使用 SchemaExport 自动建表
之前都是用最蠢的方法:SQL建立数据库相关的表,然后再Java写映射写配置文件.....

实际上使用Hibernate自带的工具hbm2ddl,建立根据你的对象建立数据库是很惬意的一件事;)

首先当然要建好POJO object, XML Mapping File(也可以使用工具根据POJO class建立),配置文件(hibernate.cfg.xml)

然后运行下面的Java代码



import org.hibernate.cfg.Configuration; 
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class initData {

	public static void main(String[] args) {
		Configuration cft = HibernateSessionFactory.getConfiguration();
		SchemaExport objExport = new SchemaExport(cft);
		objExport.create(true, true);

		User objUser = new User();
		objUser.setName("Test_User");
		objUser.setMoney(500000d);
		objUser.setRemark("Test_Data");

		


		Session objSession = HibernateSessionFactory.getSession();
		try {
			objSession.beginTransaction();
			objSession.save(objUser);
			objSession.getTransaction().commit();
		} catch (Exception e) {
			System.out.println("错误消息:" + e.getMessage());
		} finally {
			objSession.close();
		}

	}
再看看数据库,表是不是已经帮你建好了. 


hbm2ddl.auto的四个属性

validate               加载hibernate时,验证创建数据库表结构
create                  每次加载hibernate,重新创建数据库表结构
create-drop        加载hibernate时创建,退出是删除表结构
update                 加载hibernate自动更新数据库结构

分享到:
评论

相关推荐

    CH08Hibernate框架介绍.ppt

    CH08Hibernate框架介绍.ppt

    精通J2EE--ECLIPSE、STRUTS、HIBERNATE及SPRING整合应用案例代码-ch06-2

    在ch06_2这个章节中,开发者将深入学习如何在Eclipse环境中搭建Struts、Hibernate和Spring的整合环境,理解它们之间的协作机制,以及如何通过实际案例来实现业务逻辑。通过分析和运行提供的代码,开发者可以更好地...

    精通hibernate源码ch2

    在深入探讨Hibernate源码之前,我们首先需要理解什么是对象持久化技术。对象持久化是将内存中的对象状态保存到持久存储介质(如数据库)中,以便在后续的程序运行中可以恢复这些对象的状态。它解决了应用程序中的...

    精通hibernate源码ch5

    《精通Hibernate源码Chapter5:Java对象持久化技术详解》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。深入理解Hibernate的源码,不仅能帮助开发者提高工作效率,还能...

    数据库ch06数据库ch06.ppt

    数据库ch06数据库ch06

    精通hibernate源码ch3

    在IT行业中,Hibernate是一个非常重要的Java对象关系映射(ORM)框架,它使得开发者能够用面向对象的方式来处理数据库操作,从而极大地提高了开发效率。本文将深入探讨“精通Hibernate源码Chapter 3”的核心知识点,...

    CH552工程模版.zip

    《CH552工程模板详解》 CH552是一款由WCH公司设计的高性能8位微控制器,常用于各种嵌入式系统开发。这款芯片以其丰富的外设接口、低功耗特性以及易于编程的优势,深受电子工程师们的喜爱。本资料包"CH552工程模版....

    ch06-example01.ipynb

    ch06-example01.ipynb

    CH4Hibernate2,一对多,多对一,多对多实现增删改查

    2. 外键维护权:`mappedBy`属性指定关联的反向字段,表明外键在Course类中。 二、多对一关系(Many-to-One) 多对一关系是一对多关系的反转,表示多个实体可以关联到一个实体。例如,每个课程都有一个授课教师。在...

    精通J2EE--ECLIPSE、STRUTS、HIBERNATE及SPRING整合应用案例代码-ch06

    《精通J2EE--ECLIPSE、STRUTS、HIBERNATE及SPRING整合应用案例代码-ch06》是一份深入学习J2EE开发技术的重要资源,它聚焦于四大核心框架——Eclipse集成开发环境(IDE)、Struts、Hibernate和Spring的整合应用。...

    [软件工程]CH06-编码.pptx

    [软件工程]CH06-编码.pptx

    hibernate_reference.pdf

    ### Hibernate 3.0.4 参考文档详解 #### 一、简介 Hibernate 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它使得 Java 开发人员能够将对象模型映射到传统的数据库系统中。此文档是针对 ...

    精通hibernate源码ch4

    《精通Hibernate源码Chapter4:Java对象持久化技术详解》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。深入理解Hibernate的源码,不仅可以帮助开发者提高开发效率,还...

    测试Hibernate数据库ch03.sql

    测试Hibernate数据库ch03.sql

    CH438程序.zip_CH438Q程序_atleraddr_ch438_ch438程序_onm4l

    此外,CH438还具有数据线反向功能,增强了系统的抗干扰能力。 51单片机是基于Intel 8051架构的一种微控制器,广泛应用于各种嵌入式系统设计中。它的内部集成了CPU、存储器(ROM、RAM)、定时器/计数器、并行和串行I...

    情形二:实现高级定时器反向通道 PWM 输出(指高级定时器输出通道中带 N 的通道,如 TIM1_CH1N PB13).zip

    在本文中,我们将深入探讨如何在STM32微控制器上实现高级定时器的反向通道PWM输出,特别是在TIM1的CH1N(PB13)通道。STM32是一款广泛使用的ARM Cortex-M系列微控制器,它提供了丰富的定时器资源,包括高级定时器...

    精通hibernate源码ch1

    《精通Hibernate源码Chapter1:Java对象持久化技术详解》 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。深入理解Hibernate的源码,不仅可以帮助开发者更好地利用其功能...

    hibernate2ch_reference.pdf

    本文档"hibernate2ch_reference.pdf"是针对Hibernate的详尽指南,涵盖了从基础到高级的各个层面,旨在帮助读者全面理解和掌握这一强大的工具。 1. **O/R Mapping基础** O/R Mapping是将对象模型与关系数据模型进行...

    精通hibernate源码ch7

    在本章中,我们将深入探讨Hibernate这一流行的Java对象关系映射(ORM)框架的源码,专注于对象持久化的实现机制。Hibernate使得Java开发者能够轻松地将业务对象与数据库中的记录进行映射,从而极大地简化了数据操作...

    CH372DRV.rar_CH372D_CH372DRV_Ch372_USB CH372DRV_ch375

    CH372DRV.rar 是一个包含了CH372D和CH372DRV相关驱动程序和API的压缩包,主要用于支持基于USB接口芯片CH375的设备在Windows操作系统上的正常运行。CH372和CH375是常见的USB接口控制器,常用于数据传输、读卡器以及...

Global site tag (gtag.js) - Google Analytics