您的位置:首页 > 数据库

使用hibernate自动生成数据库表

2016-03-20 09:14 603 查看

使用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只会建表,不会建库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: