package com.bjpowernode.usermgr.util;
import org.hibernate.Session;
//hibernate3的
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
private static SessionFactory factory;
static{
try{
//读取hibernate.cfg.xml文件
Configuration cfg=new Configuration().configure();
//建立SessionFactory
factory=cfg.buildSessionFactory();
}
catch(Exception e){
e.printStackTrace();
}
}
//获得开启着的Session
public static Session getSession(){
return factory.openSession();
}
//关闭Session
public static void closeSession(Session session){
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
public static SessionFactory getSessionFactory(){
return factory;
}
}
package com.bjpowernode.usermgr.manager;
import java.util.Date;
import org.hibernate.Session;
import com.bjpowernode.usermgr.domain.Log;
import com.bjpowernode.usermgr.domain.User;
import com.bjpowernode.usermgr.util.HibernateUtils;
public class UserManagerImpl implements UserManager {
/**
* 添加用户和添加日志都使用了同一个Session,所以
* 当用户添加失败的时候,日志也会添加失败。事务回滚
* 用户添加成功日志也会添加成功
*/
public void addUser(User user) {
Session session=null;
try{
//取得当前线程Session
session=HibernateUtils.getSessionFactory().getCurrentSession();
session.beginTransaction();
//保存用户
session.save(user);
Log log=new Log();
log.setType("操作日志");
log.setTime(new Date());
log.setDetail("XXX");
LogManager logManager=new LogManagerImpl();
//保存日志
logManager.addLog(log);
session.getTransaction().commit();
}
catch(Exception e){
e.printStackTrace();
session.getTransaction().rollback();
}
}
}
package com.bjpowernode.usermgr.manager;
import org.hibernate.Session;
import com.bjpowernode.usermgr.domain.Log;
import com.bjpowernode.usermgr.util.HibernateUtils;
public class LogManagerImpl implements LogManager {
public void addLog(Log log) {
//获取当前线程的Session
HibernateUtils.getSessionFactory().getCurrentSession().save(log);
}
}
package com.bjpowernode.usermgr.manager;
import junit.framework.TestCase;
import com.bjpowernode.usermgr.domain.User;
public class UserManagerImplTest extends TestCase {
public void testAddUser() {
UserManager userManager=new UserManagerImpl();
User user=new User();
user.setName("张三");
userManager.addUser(user);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有