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);
}
}