hibernate自动创建表

1.首先官网下载hibernate包,解压后将lib中的jar包导入项目,日志包该框架没有,mysql的驱动包也要自己下。

2.在src下创建包dn/edu/model,和dn/edu/controller,以及hibernate.cfg.xml文件


   
   
hibernate.cfg.xml配置文件,必须写在src下
<?xml version="1.0" encoding="UTF-8"?>

<!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>

<!-- 配置数据库信息 -->

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydb2</property>

<!-- 配置hibernate信息 (可选的)-->

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

<!-- 输出底层sql语句 -->

<!-- hibernate帮创建表,需要进行配置

<property name="hibernate.show_sql">true</property>

<!-- 输出底层sql语句格式 -->

<property name="hibernate.format_sql">true</property>

update:如果已经有表,更新,没有,创建

-->

<mapping resource="dn/edu/model/Userhbm.xml"/>

<property name="hibernate.hbm2ddl.auto">update</property>

<!-- 配置数据库方言 
	若启动报错:Error executing DDL via JDBC Statement
	这个根据你下载的mysql驱动包的版本决定,
	MySQL55Dialect可以在hibernate-core核心包中找到对应的MySQL版本的方言

-->

<property name="hibernate.dialect">org.hibernate.dialect.MySQL55Dialect</property>

 

<!-- 把映射文件放到核心配置文件中 -->
<mapping resource="dn/edu/model/Userhbm.xml"/>

</session-factory>

</hibernate-configuration>




      
      
Userhbm.xml文件


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="dn.edu.model.User" table="user">
<id name="id" column="id">
<generator class="native"></generator>
<!-- native 表示主键自增长,name表示类中的表字段名,column表示数据库的
表列名-->
</id>
<property name="userName" column="username"></property>
<property name="password" column="password"></property>
</class>
</hibernate-mapping>




测试类:
public class Test {


public static void main(String[] args) {

//加载hibernate核心配置文件
Configuration con=new Configuration();
con.configure("hibernate.cgf.xml");
//创建SessionFactory对象
//读取hibernate核心配置文件内容,创建session工厂
//在这个过程中,根据映射关系,在配置数据库里面把表创建出来
SessionFactory sessionFactory=con.buildSessionFactory();
//使用session工厂创建session对象
Session session=sessionFactory.openSession();
//开启事务
Transaction tx=session.beginTransaction();
//在这里增删该查
User user=new User();
user.setUserName("gg");
user.setPassword("250");
session.save(user);
//提交事务
tx.commit();
//关闭资源
session.close();
sessionFactory.close();
}}





User类:
package dn.edu.model;

public class User {
private int id;
private String userName;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值