文档章节

一口一口吃掉Hibernate(一)——使用SchemaExport生成数据表

白志华
 白志华
发布于 2015/10/18 10:56
字数 603
阅读 7
收藏 0

      Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。


      今天就来演示一下Hibernate最初级的操作,使用SchemaExport创建数据表。

      

      1.首先建立POJO类

package com.bjpowernode.hibernate;

import java.util.Date;

/**
 * 用户
 * @author Longxuan
 *
 */
public class User {
	
	private String  id;
	
	private String name;
	
	private String password;
	
	private Date createTime;
	
	private Date expireTime;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getExpireTime() {
		return expireTime;
	}

	public void setExpireTime(Date expireTime) {
		this.expireTime = expireTime;
	}
	
}

      2、根据POJO类里面里面相关的字段,在包中创建User.hbm.xml映射文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjpowernode.hibernate.User" >
		<!--hibernate为我们生成主键id-->
		<id name="id">
			<generator class="uuid" />
		</id>
		
		<!--默认把类的变量映射为相同名字的表列,当然我们使用column属性修改表字段-->
		<property name="name" column="name"></property>
		<property name="password"></property>
		<property name="createTime"></property>
		<property name="expireTime"></property>
	</class>
</hibernate-mapping>

      3、在src中建立hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory name="foo">
		<!-- 数据库的连接也可以直接使用hibernate.properties文件 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_test</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">root</property>
		
		<property name="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</property><!-- 指定sql方言 -->
		<property name="hibernate.show_sql">true</property><!-- 设置是否显示生成sql语句 -->
		<property name="hibernate.format_sql">true</property><!-- 设置是否格式化sql语句-->
		
		<mapping resource="com/bjpowernode/hibernate/User.hbm.xml"  />
	</session-factory>
</hibernate-configuration>

      4、建立ExportDB类

package com.bjpowernode.hibernate;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;



/**
 * 将hbm生成ddl
 * @author Longxuan
 *
 */
public class ExportDB {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		// 默认读取hibernate.cfg.xml文件
		Configuration cfg = new Configuration().configure();
		
		// 生成并输出sql到文件(当前目录)和数据库
		SchemaExport export = new SchemaExport(cfg);
		
		// true 在控制台打印sql语句,true 导入sql语句到数据库,即可执行
		export.create(true, true);
	}
}

      5、建立log4j.properties日志文件

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=warn, stdout


      现在可以测试了。首先在mysql中创建hibernate_test数据库:


      运行ExportDB的main方法,结果如图:



      

版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/11669917

共有 人打赏支持
白志华
粉丝 29
博文 265
码字总数 57524
作品 0
长沙
程序员
Hibernate整合Spring后,如何使用SchemaExport生成数据库表

SchemaExport生成数据库表 一.Hibernate原生状态 Configuration cfg = new Configuration().configure(); SchemaExport export = new SchemaExport(cfg); export.create(true, true); 二.H......

非作者
2012/08/18
0
1
hibernate生成数据库表

hibernate生成数据库表 注:使用前需把数据库建好,运行完成后,原有数据会被清空 hibernate.cfg.xml Java 代码 每次修改hibernate配置文件后,运行一下,就可以自动更新表结构。...

雨中人X
2016/06/14
32
1
品美味鲜果哈吉~让生活更加精致

品美味鲜果哈吉~让生活更加精致 穿梭高楼间的飞鸟偶尔停立在某个窗户的边缘上,突然而来的画面在忙碌中透出悠闲,常在文件堆中跋山涉水的人们除了靠偶然的遇见来搏得一处轻松自在,一杯鲜果哈...

v18610770899
05/29
0
0
利用hibernate框架工具生成数据表

因为学习java框架技术的原因,经常在网上下载一些ssh方面的代码来看,在这个过程中发现大部分朋友在分享的过程中没有将项目的sql文件一并拿出,这给自己的部署学习过程带来不少麻烦。相信这也...

榫眼宾
2014/01/14
0
0
2016年上半年信息系统项目管理师真题之上午题小虎趣味解答第16-20题

 2016年上半年信息系统项目管理师真题之四 小虎趣味解答第16-20题 16.在信息系统安全保护中,依据安全策略控制用户对文件数据库表等客体的访问属于()安全管理 A.安全审计 B.入侵检测...

littletigerbj
2017/04/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
27分钟前
0
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
5
2
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
1
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
1
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部