Eclipse+hibernate5+jdk8(第一课)

来源:互联网 发布:阿里巴巴淘宝商城衣服 编辑:程序博客网 时间:2024/06/05 06:34

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;@Entitypublic 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;}//重构sessionFactoryprivate static void rebuildSessionFactory() {StandardServiceRegistry reg=new StandardServiceRegistryBuilder().configure().build();sessionFactory=new MetadataSources(reg).buildMetadata().buildSessionFactory();}//返回sessionFactorypublic 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();}}


0 0
原创粉丝点击