HibernateSessionFactory.java

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 SessionFactory sessionFactory;
private static Session session;

static{
//获取标准的服务注册对象
final StandardServiceRegistry reg=new StandardServiceRegistryBuilder().configure().build();

//根据标准服务注册对象获取元数据的数据对象,并从数据集中构建一个sessionFactory
sessionFactory=new MetadataSources(reg).buildMetadata().buildSessionFactory();
}

public static Session getSession(){
if(session==null){
session=sessionFactory.openSession();
}
return session;
}

}



TestCRUD.java

package com.wxh.test;

import org.hibernate.Session;

import com.wxh.dto.User;
import com.wxh.sessionFactory.HibernateSessionFactory;

public class TestCRUD {

private Session session;
public TestCRUD(){
session=HibernateSessionFactory.getSession();
}


public void select(int id){

User user=session.get(User.class,id);
System.out.println(user);
}

public void delete(int id){
session.beginTransaction();//开启事务
User user=session.get(User.class,id);
session.delete(user);
session.getTransaction().commit();//提交事务
}

public void update(User user){
session.beginTransaction();
User u=session.get(User.class, user.getUserid());
u.setPassword(user.getPassword());
session.update(u);//可以不写这句
session.getTransaction().commit();
}

public static void main(String[] args) {
//new TestCRUD().select(2);
//new TestCRUD().delete(2);
User user=new User();
user.setUserid(1);
user.setPassword("111");
new TestCRUD().update(user);

}
}