您的位置:首页 > 编程语言 > Java开发

初学Hibernate之环境搭建

2017-02-19 11:12 197 查看

环境搭建准备:

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();
}
}

以下是文件目录



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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate ssh struts jdbc mysql