使用hibernate自动生成数据库表

使用hibernate自动生成数据库表在hibernate3.2以后有两种方式:

1,使用hbm.xml形式;2,使用注解的形式。

本文介绍第一种方式:

IDE使用的是MyEclipse8.0,数据库使得是mysql5.1,hibernate3.2

1,新建web项目,导入所需的jar包,(此为最关键一步,导入的jar包一定要匹配)。

2,新建实体类User.java

package entity;

public class User {
private int id;
private String name;
private String password;
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;
}
public String getPassword() {
 return password;
}
public void setPassword(String password) {
 this.password = password;
}
public User() {
 super();
}

}
3,User.hbm.xml的编写

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="entity.User" table="user" catalog="mysong">
        <id name="id" type="java.lang.Integer">
          
            <generator class="native" />
        </id>
        <property name="name" type="java.lang.String">
          
        </property>
      
        <property name="password" type="java.lang.String">
          
        </property>
    </class>
</hibernate-mapping>
4,hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
     <property name="show_sql">true</property>
     
        <property name="hbm2ddl.auto">update</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/mysong</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="myeclipse.connection.profile">com.mysql.jdbc.Driver</property>
        
               <mapping resource="entity/User.hbm.xml" />
                  
              </session-factory>

</hibernate-configuration>

5,部署项目,启动tomcat,并打开项目的任何一个页面,此时数据库表已经生成了,赶快查看数据库吧!

Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步。

如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码

Xml代码<property name="hbm2ddl.auto">update</property>

update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。

还有其他的参数: 
create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。

create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。

PS:数据库要预先建立好,因为hibernate只会建表,不会建库

使用hibernate自动生成数据库表相关推荐

  1. Hibernate中自动生成数据库表的两种方式

    第一种方式:Hibernate中利用工具类自动生成数据库表 1.建好POJO object, XML Mapping File,配置文件(hibernate.cfg.xml). 2.编写工具类 imp ...

  2. java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法

    前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...

  3. 自动生成数据库表结构word文档的工具(一)---- DBDocumentGenerator

    背景: 项目中需要编写数据库表结构文档,手动编写繁琐,格式难统一,且易出错,有没有自动生成数据库表结构文档的工具 方案 DBDocumentGenerator 数据字典生成工具,用于生成 数据库表 及 ...

  4. 使用java通过固定的excel模板自动生成数据库表的ddl建表语句

    有时候要建很多表或一个表有很多字段,一个个复制字段弄太麻烦了,为了提高点工作效率,写了个小工具通过固定的excel模板自动生成基础的ddl建表语句 maven依赖 <!--核心jar包--> ...

  5. 根据Excel表的配置,自动生成数据库表的CRUD以及相关的Winform列表和编辑界面程序文件,接上篇(自动生成实体类)

    本文仍然属于一个自动生成代码工具. 上一篇我们根据数据库表的信息,自动生成实体类.cs文件.这次我们根据Excel配置,直接生成CRUD以及窗体列表和编辑界面相关的程序源文件. 通过自动生成代码,这样 ...

  6. python连接mysql,自动生成数据库表对应的word文档(毕设福利)

    效果图 运行程序后生成的word文档 所需依赖 安装两个依赖插件 pip install pymysql pip install python-docx python程序 #!/usr/bin/pyt ...

  7. 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档(转

    对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...

  8. hibernate正向生成数据库表以及配置——hibernate.cfg.xml

    <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hib ...

  9. hibernate正向生成数据库表以及配置——Teacher.hbm.xml

    <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBL ...

最新文章

  1. vc 获取月份的天数_「青少年编程」课程:输入年份与月份,得到该月有多少天...
  2. hotelling t2 matlab,pca主成份分析方法
  3. react-navigation StackNavigator 快速点击会多次跳转页面
  4. linux图片处理工具GraphicsMagick安装使用
  5. 《人机交互与戏剧表演:用戏剧理论构建良好用户体验》一导读
  6. window 自动安装MySQL数据库_windows安装MySQL数据库
  7. 堆排序时间复杂度_leetcode刷题(二):排序算法(归并排序,堆排序,桶排序)...
  8. 物联网技术在工业领域的主要应用
  9. 锐捷客户端在linux下的校园网认证
  10. 在minst数据集上定义和训练CNN卷积神经网络,代码+原理+模型更改
  11. 软件测试基础学习笔记
  12. 常用测试用例设计方法4-场景法
  13. LSD slam with stereo cameras (使用双目相机的LSD算法)
  14. 办公软件的安装,简单操作进行安装office操作步骤。
  15. Html手机web背景全屏,使用全屏背景的网页设计欣赏 全屏网页背景教程
  16. 每天只需15分钟!情感励志视频剪辑一天200多,不用真人出镜
  17. 数据结构、数据、数据元素、数据项的区别
  18. 转:Chrome浏览器查看网站登录 Cookie 信息的方法
  19. AI首席架构师6-AICA-从数据到知识-百度知识图谱技术及应用
  20. asp.net引用System.Speech实现语音提示

热门文章

  1. 【错误记录】Git 使用报错 ( no changes added to commit (use “git add“ and/or “git commit -a“) )
  2. 【EventBus】事件通信框架 ( 总结 | 手写事件通信框架完整代码示例 | 测试上述框架 )
  3. 【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 动态注册广播接收者监听耳机插拔事件 | 重新打开 Oboe 音频流 )
  4. 【集合论】序关系 ( 偏序集元素之间的关系 | 可比 | 严格小于 | 覆盖 | 哈斯图 )
  5. 【运筹学】线性规划数学模型 ( 三要素 | 一般形式 | 向量形式 | 矩阵形式 )
  6. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
  7. 【C 语言】结构体相关 的 函数 指针 数组
  8. JVM 常用参数一览表(转)
  9. 模块的四种形式 模块的调用 循环导入问题 模块的搜索路径 py文件的两种用途 编译python文件 包...
  10. idea创建一个SpringBoot项目