1.导入hibernate中的required包
2.核心配置文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="connection.url">
jdbc:oracle:thin:@127.0.0.1:1521:orcl
</property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="myeclipse.connection.profile">oracle</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- 本地事务 -->
<!-- <property name="current_session_context_class">thread</property> -->
<mapping class="com.wxh.dto.People"/>
</session-factory>
</hibernate-configuration>
3.dto(使用注解的方式)
package com.wxh.dto;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity
public class People {
private Integer pid;
private String name;
private String sex;
private String phone;
private String address;
public People() {
}
public People(String name, String sex, String phone, String address) {
super();
this.name = name;
this.sex = sex;
this.phone = phone;
this.address = address;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO,generator="mygen")
@SequenceGenerator(name="mygen",sequenceName="auto_pid")
public Integer getPid() {
return pid;
}
public void setPid(Integer pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
4.hibernatesessionfactory(获取session的工具类)
package com.wxh.sessionfactory;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class HibernateSessionFactory {
private static Session session;
private static SessionFactory sessionFactory;
static{
StandardServiceRegistry reg=new StandardServiceRegistryBuilder().configure().build();
sessionFactory=new MetadataSources(reg).buildMetadata().buildSessionFactory();
}
//返回session对象
public static Session getSession(){
if(session==null || !session.isOpen()){
if(sessionFactory==null){
rebuildSessionFactory();
}
session=(sessionFactory!=null)?sessionFactory.openSession():null;
}
return session;
}
//重构sessionFactory
private static void rebuildSessionFactory() {
StandardServiceRegistry reg=new StandardServiceRegistryBuilder().configure().build();
sessionFactory=new MetadataSources(reg).buildMetadata().buildSessionFactory();
}
//返回sessionFactory
public static SessionFactory getSessionFactory(){
if(sessionFactory==null){
rebuildSessionFactory();
}
return sessionFactory;
}
}
5.测试类
package test;
import org.hibernate.Session;
import com.wxh.dto.People;
import com.wxh.sessionfactory.HibernateSessionFactory;
public class Test {
public static void main(String[] args) {
People p=new People("张三", "男", "123456","武汉");
Session session=HibernateSessionFactory.getSession();
session.beginTransaction();
session.save(p);
session.getTransaction().commit();
session.close();
}
}