初学Hibernate之环境搭建

环境搭建准备:

1)、创建一个JAVA工程;

2)、导入Hibernate必须的jar包:
hibernate-release\lib\required
3)、导入Mysql的jdbc驱动:
mysql-connector-java


一、创建Hibernate的配置文件;

1).在src下建立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">
<hibernate-configuration>
    <session-factory>
    	<!-- Student为你的数据库名称 -->
        <property name="connection.url">jdbc:mysql://localhost:3306/<!-- 你已有的数据库名 --></property>
        <property name="connection.username">root</property>
        <property name="connection.password">123456</property>
        
         <!-- 数据库连接设置 -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        
        <!-- SQL方言 -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        
        <!-- 显示SQL语句 -->
        <property name="show_sql">true</property>
        <!-- 格式化输出SQL语句 -->
        <property name="format_sql">true</property>
        
        <!-- validate 加载hibernate时,验证创建数据库表结构 -->
        <!-- create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。 -->
        <!-- create-drop 加载hibernate时创建,退出是删除表结构 -->
        <!-- update 加载hibernate自动更新数据库结构 -->
        <property name="hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>

以上是基础配置不建议缩减;


二、创建持久化类;

1).在src下创建一个java类,比如Students.java(持久化类遵循javabean规范)

javabean:
1.公有的类
2.提供共有的不带参数的默认的构造方法
3.属性私有
4.属性setter/getter封装

package com.hibernate;

import java.util.Date;

public class Students {
	private Integer sid;
	private String sname;
	private String gender;
	private Date birthday;
	private String address;
	public Integer getSid() {
		return sid;
	}
	public void setSid(Integer sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public Students(Integer sid, String sname, String gender, Date birthday,
			String address) {
		super();
		this.sid = sid;
		this.sname = sname;
		this.gender = gender;
		this.birthday = birthday;
		this.address = address;
	}

	public Students(){
		
	}
	@Override
	public String toString() {
		return "Students [sid=" + sid + ", sname=" + sname + ", gender="
				+ gender + ", birthday=" + birthday + ", address=" + address
				+ "]";
	}
	
	
}



三、创建对象-关系映射文件;

1).在src下创建Student.hbm.xml文件;
它会自动将实体类生成一个映射文件,以及把每个属性作为对应的字段;
2).我们需要将这个映射文件关联到Hibernate.cfg.xml文件中;

		<!-- hibernate与数据库的对象关系映射文件**.hbm.xml -->
		<mapping resource="com/hibernate/Students.hbm.xml" />

四、使用Junit进行测试:

@Test测试方法
@Before:初始化方法
@After:释放资源

1).在src下创建一个Junit Test case文件,文件名为StudenTest。

package com.hibernate;

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class StudentsTest {
	private SessionFactory sessionFactory;
	private Session session;
	private Transaction transaction;
	@Before
	public void before(){

		//1). 创建 Configuration 对象: 对应 hibernate 的基本配置信息和 对象关系映射信息
		Configuration configuration = new Configuration().configure();
		
		//2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
		ServiceRegistry serviceRegistry = 
				new ServiceRegistryBuilder().applySettings(configuration.getProperties())
				                            .buildServiceRegistry();
		
		//3).创建会话工厂对象
		sessionFactory = configuration.buildSessionFactory(serviceRegistry);
		
		//4). 创建一个 Session 对象
		session = sessionFactory.openSession();
		
		//5). 开启事务
		transaction = session.beginTransaction();
	}
	@Test
	public void testSaveStudents() {
		Students s = new Students(2, "j/wen", "男", new Date(), "呼市");
		session.save(s);
	}

	@After
	public void after(){
		//6). 提交事务 
		transaction.commit();
		
		//7). 关闭 Session
		session.close();
		
		//8). 关闭 SessionFactory 对象
		sessionFactory.close();
	}
}

以下是文件目录


代码已经过测试可以创建和添加;


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值