Hibernate创建过程

Hibernate创建过程

1.首先了解hibernate的结构如图
Hibernate创建过程
2.hibernate所需要的jar包
Hibernate创建过程
3.下面要在项目下创建hibernate.cfg.xml的文件夹
Hibernate创建过程
4.下面就开始主题,首先创建user实体类
Hibernate创建过程
5.创建好实体类之后,就要开始配置user实体类所对应的映射文件,文件名的规范是:实体类名.hbm.xml,映射文件最后生成的就是数据库所对应的表。详细代码如图:
Hibernate创建过程
代码:下面有详细的注解

<?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>
  <!-- name="user实体类的路径,"连接实体类 table连接表名称 -->
      <class name="com.hp.bean.User" table="tb_hibernate"> 
      <!-- 实体类中的id -->
         <id name="id">
         <!--generator class="native"native!!!  -->
         <!-- id的自增方式 -->
         <generator class="native"></generator>
         </id>
         <!--所对应的实体内的数据  -->
      <property name="pwd"></property>
      <property name="age"></property>
      <property name="name"></property>
      <property name="sex"></property>
      </class>
    </hibernate-mapping>

6.下面开始配置hibernate.cfg.xml的配置文件,注意文件名是有规范的,只能是hibernate.cfg.xml,代码图片如***意代码中的数据库名密码用户名要和自己数据库中的对应,下面代码有详细的注解:
Hibernate创建过程
代码:

<?xml version="1.0" encoding="UTF-8"?>
<hibernate-configuration>
    <session-factory>
    <!-- 配置驱动 -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <!-- 配置数据库  test是数据库名 -->
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?create database daycode default charset=utf8;</property>
    <!-- 配置数据库名称 -->
    <property name="hibernate.connection.username">root</property>
    <!-- 配置数据库密码 -->
    <property name="hibernate.connection.password">root</property>
    <!-- 配置方言 -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <!-- 配置格式化文件 -->
    <property name="hibernate.show_sql">true</property>
	<property name="hibernate.format_sql">true</property>
    <!-- 自动创建表 -->
    <property name="hibernate.hbm2ddl.auto">create</property>
    
    <property name="hibernate.connection.characterEncoding">utf-8</property> 
    <!-- 配置映射文件 -->
    <mapping resource="com/hp/bean/User.hbm.xml"/>
    <mapping resource="com/hp/bean/Department.hbm.xml"/>
    <mapping resource="com/hp/bean/Employee.hbm.xml"/>
    <mapping resource="com/hp/bean/Student.hbm.xml"/>
    <mapping resource="com/hp/bean/Classes.hbm.xml"/>
    </session-factory>

</hibernate-configuration>
7.接下来是写工具类:

Hibernate创建过程
代码:

package com.hp.hbtest;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
//������
public class Hibernatetest {
public static final   Configuration cfg;
public static final SessionFactory sf;
public static Session getCurrentSession;

static {
	cfg = new Configuration().configure();
	sf = cfg.buildSessionFactory();
}
public static Session openSesson(){
	return sf.openSession();
}
}

8.最后一步就是编写测试类,包括增删改查的简单操作,代码中有详细的注释;如图:

package com.hp.Test;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import com.hp.bean.User;
import com.hp.hbtest.Hibernatetest;

public class UserDemo2 {
	@Test
  public void dome1() {
		/**
		 * 添加数据
		 */
		//打开session
	  Session openSesson = Hibernatetest.openSesson();
	  //编写创建事务
	  Transaction ts = openSesson.beginTransaction();
	  //添加用户数据
	  User user = new User();
	  user.setName("hhj");
	  user.setAge(15);	
	  user.setPwd("123");
	  user.setSex('s');	  
	  
	  User user2 = new User();
	  user2.setName("hhj");
	  user2.setAge(15);	
	  user2.setPwd("123");
	  user2.setSex('s');	
	  //保存用户数据
	  openSesson.save(user);
	  openSesson.save(user2);
	  //在控制台输出数据
	  System.out.println(user);
	  System.out.println(user2);
	  //提交事务
	  ts.commit();
	 
  }
	@Test//查询
	 public void dome2() {
		//打开session
		 Session session = Hibernatetest.openSesson();
		 //编写创建事务
		 Transaction tx = session.beginTransaction();
		 //查询
		User user = (User) session.get(User.class, 1);
		System.out.println(user);
		//提交事务
		 tx.commit();
		 //关闭session
		 session.close();
	 }
	@Test//改
	 public void dome3() {
		Session session = Hibernatetest.openSesson();
		Transaction tx = session.beginTransaction();
		User user = (User) session.get(User.class, 1);
		//修改的名称
		user.setName("ls");
		//保存所修改的内容
		session.update(user);
		
		tx.commit();
		session.close();
	}
	@Test//删
	 public void dome4() {
		Session session = Hibernatetest.openSesson();
		Transaction tx = session.beginTransaction();
		User user =(User) session.get(User.class, 1);
		session.delete(user);
		
		tx.commit();
		session.close();
	} 
}

最后希望可以帮到大家,共同学习,如果代码有错误也请见谅,可以留言指出,谢谢!