📄 usermanagerimpl3.java
字号:
package com.oneedu.busi;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import com.oneedu.entity.User;
/**
* 声明式事务
*
* 不继承HibernateDaoSupport类,
* 本类,提供setSessionFactory方法
*
* DAO访问方式的主要优势在于它仅仅依赖于Hibernate API本身
* 而无需引入任何Spring的类。 从无入侵性的角度来看,这一点非常吸引人。
* 同时,对于Hibernate开发人员来说也更自然。
*
*
* @author Administrator
*
*/
public class UserManagerImpl3 implements UserManager {
//让IOC容器,注入sessionFactory
SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void save(String name) {
//不继承 HibernateDaoSupport 类
//使用IOC容器中,注入的sessionFactory,
SessionFactory sf = (SessionFactory)this.sessionFactory;
Session session = sf.getCurrentSession();
//如下面方式获得Session,不生效,因为IOC容器中的SessionFactory
//是被事务管理起来的,自己创建的,并没有.
// Configuration cfg = new Configuration().configure();
// SessionFactory factory = cfg.buildSessionFactory();
// Session session = factory.getCurrentSession();
//这里创建一个BeanFactory,Client.java中,又创建一个BeanFactory,
//两个不同的BeanFactory,对应不同的SessionFactory,事务,也不会起效
// BeanFactory factory
// = new ClassPathXmlApplicationContext("applicationContext*.xml");
// SessionFactory sf = (SessionFactory)factory.getBean("sessionFactory");
// Session session = sf.getCurrentSession();
//业务代码.使用声明式事务
User user = new User();
user.setName(name);
session.save(user);
}
public void find(String name){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -