public class HibernateUtils {
private static SessionFactory sessionFactory=null;
static{
//获取config 加载配置文件
Configuration configure = new Configuration().configure();
sessionFactory = configure.buildSessionFactory();
}
//获取session
public static Session getSession(){
Session session = sessionFactory.openSession();
return session;
}
}
保存方法
@Test //保存方法
public void test(){
// 创建一个javabean
//给javabean中的成员变量赋值
//保证每个用户去出来的session都不相同
Session session = HibernateUtils.getSession(); // 相当于得到一个Connection。
// 开启事务
Transaction transaction = session.beginTransaction();
// 操作
session.save(java对象);
// 事务提交
transaction.commit();
//不需要关闭Configuration 因为Configuration不是轻量级的。这样一个项目就只产生一个Configuration
//configuration相当于连接池
session.close();
}
删除方法
@Test //删除方法
public void test1(){
// 创建一个Customer
//User c = new User("12","zhangsan111","123456789","zhangfei","1064705527@qq.com","15029021367",new Date(),"M",1,"0");
//保证每个用户去出来的session都不相同
User user = new User();
user.setUid("1234");
Session session = HibernateUtils.getSession(); // 相当于得到一个Connection。
// 开启事务
Transaction transaction = session.beginTransaction();
// 操作
//删除时必须根据主键进行删除
session.delete(user);
// 事务提交
transaction.commit();
//不需要关闭Configuration 因为Configuration不是轻量级的。这样一个项目就只产生一个Configuration
//configuration相当于连接池
session.close();
}
修改方法
@Test //修改方法
public void test2(){
// 创建一个Customer
//User c = new User("12","zhangsan111","123456789","zhangfei","1064705527@qq.com","15029021367",new Date(),"M",1,"0");
//保证每个用户去出来的session都不相同
User user = new User();
user.setUid("123");
user.setName("修改的");
Session session = HibernateUtils.getSession(); // 相当于得到一个Connection。
// 开启事务
Transaction transaction = session.beginTransaction();
// 操作
//可以进行修改 但必须把修改的参数写清楚 没写的表示null
session.update(user);
// 事务提交
transaction.commit();
//不需要关闭Configuration 因为Configuration不是轻量级的。这样一个项目就只产生一个Configuration
//configuration相当于连接池
session.close();
}