一.Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。
二.Hibernate与MyBatis的区别
Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理,也就是说Hibernate只需要将实体类与表进行关联后Hibernate会自动的生成一切操作数据的方法
三.Hibernate使用步骤
1.导包
antlr-2.7.7.jar
jboss-logging-3.3.0.Final.jar
hibernate-core-5.0.7.Final.jar
javassist-3.18.1-GA.jar
hibernate-commons-annotations-5.0.1.Final.jar
geronimo-jta_1.1_spec-1.1.1.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
dom4j-1.6.1.jar
jandex-2.0.0.Final.jar
2.创建一个实体类
package com.lin.pojo;
import java.util.Date;
public class Person {
private Integer id;
private String name;
private int age;
private Date birthday;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return “Person [id=” + id + “, name=” + name + “, age=” + age + “, birthday=” + birthday + “]”;
}
}
3.在当前包下(实体类所在的包)创建Hibernate的Mapping配置文件用来映射实体与表的关系
Person.hbm.xml
4.编写Hibernate的全局配置
hibernate.cfg.xml
注意:
如果使用了Configuration对象的无参构造方法则Hibernate的全局配置文件的名称必须为 hibernate.cfg.xml
“-//Hibernate/Hibernate Configuration DTD 3.0//EN”
“http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”>
com.mysql.jdbc.Driver
jdbc:mysql:///hibernatetest
root
a131421a
org.hibernate.dialect.MySQLDialect
thread
true
true
update
5.测试
package com.lin.test;
import java.util.Date;
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.exception.spi.Configurable;
import org.junit.jupiter.api.Test;
import com.lin.pojo.Person;
public class HibernateTest {
@Test
public void test1() {
// 1.创建Configuration对象加载配置文件
Configuration conf = new Configuration();
conf.configure();
// 2.获取sessionfactory
SessionFactory sessionFactory = conf.buildSessionFactory();
// 3.创建数据库会话session对象
Session session = sessionFactory.getCurrentSession();
// 4.获得事务处理对象
Transaction tx = session.beginTransaction();
// 新增人类
Person person = new Person();
person.setName(“林某”);
person.setAge(15);
person.setBirthday(new Date());
// 调用session的save方法将person对象保存到数据库里
session.save(person);
tx.commit();
session.close();
}
沈阳性病医院哪家好:http://yyk.39.net/sy/zhuanke/fc844.html