Hibernate数据模型导出工具类
来源:互联网 发布:javascript 异步 编辑:程序博客网 时间:2024/06/05 15:11
在以前的项目中,我们都是先设计数据库,将数据库中的表一一建好,在考虑实现。在Hibernate中,我们不用在手动去建表,而是通过映射来操作数据库。怎样操作数据库呢?Hibernate3中为我们提供了hbm2ddl这样的工具,下面让我们看一个具体事例:
package com.bjpowernode.hibernate;import java.util.Date;/** * 实体类User * @author lyj * */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;}}
package com.bjpowernode.hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * 将hbm生成ddl工具类 * @author lyj * */public class ExportDB { public static void main(String args[]){ //默认读取hibernate.cfg.xml文件 Configuration cfg=new Configuration().configure(); //Create(script,export)方法根据持久类和映射文件先删除架构后创建删除数据库架构。 //有两个参数,第一个为True就是把DDL语句输出到控制台, //第二个为True就是根据持久类和映射文件先执行删除再执行创建操作 SchemaExport export=new SchemaExport(cfg); export.create(true, true); }}如何理解 ?默认读取hibernate.cfg.xml文件,在Configuration类里我们可以看到:
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> <!-- "com.bjpowernode.hibernate.User" 这里的User是实体类而不是数据库要对应的表 --> <class name="com.bjpowernode.hibernate.User"> <!-- 主键 --> <id name="id"> <!-- 主键生成策略 --> <generator class="uuid"/> </id> <!-- 实体类的属性 --> <property name="name"/> <property name="password"/> <property name="createTime"/> <property name="expireTime"/> </class></hibernate-mapping>
Hibernate核心配置文件详细解析提供一个链接:
http://www.cnblogs.com/jqyp/archive/2010/06/28/1766851.html
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory > <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <properyt name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_first</properyt> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">bjpowernode</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <!-- 具体映射文件 --> <mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/> </session-factory></hibernate-configuration>
Hibernate的映射流程大概就是
实体类(.class)--->实体类映射文件(xx.hbm.xml)--->hibernate核心配置文件(hibernate.cfg.xml)
--->数据库导出工具(DBExport)依赖于SchemaExport类
- Hibernate数据模型导出工具类
- 数据库导出数据模型图
- 导出Excel工具类
- 导出Excel工具类
- Excel导出工具类
- 导出Excel工具类
- Excel导出工具类.
- POI导出工具类
- EXCEL导出工具类
- 导出Excel工具类
- Excel导出工具类
- POIexcel导出工具类
- POI导出工具类
- Hibernate工具类
- Hibernate工具类
- Hibernate工具类
- Hibernate 的工具类
- Hibernate工具类
- 强大的ubuntu,安装打印机超简单
- Android开机自启动程序
- ubuntu查看硬件信息
- 量化管理在程序员身上永无可能
- IT职场人生:危险职业
- Hibernate数据模型导出工具类
- IT职场人生:技术?管理?业务?
- IT职场人生:学外语
- IT职场人生:员工的公司观
- IT职场人生:找谁占卜
- 程序员第一定律:关于技能与收入
- Android——全屏显示的两种方式
- Ubuntu ecplise中连接Android真机…
- 喜爱看剑雨,数据流的本人对各主角…