这几天在学习SSH框架结构,struts,hibernate,spring 。然后今天简单的介绍一下hibernate,以及简单的讲一下hibernate环境搭建。
这里我就只简单的介绍一下,更多具体的可以去官网:http://hibernate.org/orm/
或者找度娘或谷歌,里面都有很详细的解释。
hibernate是一个独立的框架,不需要其他的东西就可以使用,而学习每一个框架之前,都需要搭建框架,那么,今天我简单的讲讲怎么在Eclipse上搭建hibernate。
1、首先肯定需要去先下载jar包: http://hibernate.org/orm/
不过还有一种方式,如果你是创建的Maven项目,官网也是提供了依赖了的,直接copy进pom.xml就好
<dependency>
<groupId>org.hibernategroupId>
<artifactId>hibernate-coreartifactId>
<version>5.2.10.Finalversion>
dependency>
当然,如果你是第一次导入,那么需要联网
如何将maven集成到Eclipse:http://blog.csdn.net/qq_37999820/article/details/77435791
因为hibernate是操纵数据库的框架,所以你还需要相对应的数据库jar包或者依赖
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.35version>
dependency>
这里我是使用的是MySql
2、导入所需要的jar包之后,需要写一个实体类(entity)以及相对应的映射文件,这里我先给大家看下我的项目结构
这是我做的一个简单dome的结构
可以看到,有一个学生的实体类和对应的映射文件
如果你的Eclipse安装了hibernate插件,那么映射文件会自动生成,如果没有,你只能手写了。
看映射文件之前,说一下实体类的规范,实体类的属性和类型最好和数据库保持一致
那么我们看下映射文件:
<hibernate-mapping>
<class name="com.zking.entity.Student" table="STUDENT">
<id name="sid" type="int">
<column name="SID" />
<generator class="native" />
id>
<property name="sname" type="java.lang.String">
<column name="SNAME" />
property>
<property name="ssex" type="java.lang.String">
<column name="SSEX" />
property>
class>
hibernate-mapping>
映射文件比较简单,注意好实体类和数据库列名一一对应就好。
3、然后,你需要配置 hibernate.cfg.xml这个文件
<hibernate-configuration>
<session-factory>
<property name="connection.username">rootproperty>
<property name="connection.password">123property>
<property name="connection.url">jdbc:mysql://localhost:3306/zuoyeproperty>
<property name="connection.driver_class">com.mysql.jdbc.Driverproperty>
<mapping resource="com/zking/entity/Student.hbm.xml"/>
session-factory>
hibernate-configuration>
那么这个文件也比较简单,主要配置数据库的相关信息和关联你的映射文件
至此,你的hibernate的前期准备工作基本做完了,那么你就可以进行测试了。
因为这篇博客主要讲环境搭建,hibernate的具体使用我会在接下来的几篇博客中讲,这里,我简单的附上我的测试文件,其他具体的解释我会在下篇博客中讲到
package com.zking.test;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.zking.entity.Student;
public class TestCRUD {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void before(){
//1.读取hibernate配置文件
Configuration configuration=new Configuration().configure();
sessionFactory = configuration.buildSessionFactory();
session = sessionFactory.openSession();
transaction = session.beginTransaction();
}
@After
public void after(){
//提交事务
transaction.commit();
session.close();
sessionFactory.close();
}
@Test
public void testAdd(){
Student student=new Student("哥哥", 18);
session.save(student);
}
@Test
public void testGet(){
//查询单个
// Student student=session.get(Student.class, 1);
// System.out.println("查询单个:"+student.getSid()+" "+student.getSname());
//查询所有
List students=session.createCriteria(Student.class).list();
for (Student student : students) {
System.out.println(student.getSname());
}
}
}
搭建好环境后可以简单的测试下是否搭建成功。