javaee之hibernate的schemaExport
2016-07-26 14:27
489 查看
通过hibernate的学习可以很方便的创建数据库的表和一些其他信息
关于SchemaExport的用法,可以根据配置文件来生成表结构。
一、需要有一个hibernate.cfg.xml的主配置文件
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
二、需要一个实体类User和User的映射文件
package hibernate_a_helloword;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
三、最后是一个实现的方法:
只是需要读取配置文件后调用一个SchemaExport方法即可
package hibernate_a_helloword;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;
public class CreateSchema {
/**
* 根据配置生成结构表文件
*/
@Test
public void test(){
Configuration cfg = new Configuration().configure();
SchemaExport ex = new SchemaExport(cfg);
ex.create(true, true);<span style="white-space:pre"> </span>//第一个参数表示是否显示语句到控制台,第二个参数表示是否导入脚本文件到数据库
}
}
通过SchemaExport的方法可以很方便的创建一个数据库表的结构
关于SchemaExport的用法,可以根据配置文件来生成表结构。
一、需要有一个hibernate.cfg.xml的主配置文件
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<span style="white-space:pre"> </span>//数据库的方言 <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//数据库的一些配置,包括连接的驱动,用户的密码和名称 <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="hibernate.connection.url"> jdbc:mysql://localhost:3306/hibernate_example_01 </property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <span style="white-space:pre"> </span>//hibernate的其他配置,是否显示sql语句和格式化sql语句 <property name="show_sql">true</property> <property name="format_sql">true</property>
<span style="white-space:pre"> <!</span><span style="font-family: Arial, Helvetica, sans-serif;">--</span><span style="white-space:pre"> <span style="white-space:pre"> </span>create:先删除,再创建 <span style="white-space:pre"> </span>update:如果表不存在就创建,不一样就更新,一样就什么都不做。 <span style="white-space:pre"> </span>create-drop:初始化时创建表,SessionFactory执行close()时删除表。 <span style="white-space:pre"> </span>validate:验证表结构是否一致,如果不一致,就抛异常。 <span style="white-space:pre"> </span>--></span> <property name="hbm2ddl.auto">update</property>
<span style="white-space:pre"> </span>//导入实体类的映射文件
<span style="white-space:pre"> </span><mapping resource="hibernate_a_helloword/User.hbm.xml" /> </session-factory> </hibernate-configuration>
二、需要一个实体类User和User的映射文件
package hibernate_a_helloword;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
<?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 package="hibernate_a_helloword"> <class name="User" table="t_user"> <id name="id" column="id" type="int"> <generator class="native"></generator> </id> <property name="name" column="name" length="20" not-null="true" type="string" /> </class> </hibernate-mapping>
三、最后是一个实现的方法:
只是需要读取配置文件后调用一个SchemaExport方法即可
package hibernate_a_helloword;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;
public class CreateSchema {
/**
* 根据配置生成结构表文件
*/
@Test
public void test(){
Configuration cfg = new Configuration().configure();
SchemaExport ex = new SchemaExport(cfg);
ex.create(true, true);<span style="white-space:pre"> </span>//第一个参数表示是否显示语句到控制台,第二个参数表示是否导入脚本文件到数据库
}
}
通过SchemaExport的方法可以很方便的创建一个数据库表的结构
相关文章推荐
- Hibernate Oracle sequence的使用技巧
- jsp Hibernate批量更新和批量删除处理代码
- jsp hibernate的分页代码第1/3页
- Struts2+Hibernate实现数据分页的方法
- Hibernate环境搭建与配置方法(Hello world配置文件版)
- JAVA+Hibernate 无限级分类
- SSH整合中 hibernate托管给Spring得到SessionFactory
- jsp hibernate 数据保存操作的原理
- hibernate中的增删改查实现代码
- 解决hibernate+mysql写入数据库乱码
- java优化hibernate性能的几点建议
- java Hibernate延迟加载
- hibernate 常用方法介绍
- 详解Java的Hibernate框架中的注解与缓存
- 浅析Java的Hibernate框架中的继承关系设计
- Java的Hibernate框架中的继承映射学习教程
- Hibernate实现批量添加数据的方法
- Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
- JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册
- SSH框架网上商城项目第16战之Hibernate二级缓存处理首页热门显示