- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用Spring整合Hibernate和Struts2
1、Spring和Hibernate的整合(DAO层整合)
1.1由Spring的IoC容器创建sessionFactory
!--配置sessionFactory --
bean id=sessionFactory
class=org.springframework.orm.hibernate3.LocalSessionFactoryBean
property name=configLocation
value=classpath:hibernate.cfg.xml/
/bean
注意:
id名称任意,但是建议为sessionFactory。
property的name属性值固定
不再使用HibernateSessionFactory类获取SessionFactory,而是从Spring的Ioc容器获取
1.2由Spring的IoC容器创建DAO
!-- 2、配置DAO,依赖于sessionFactory --
bean name=studentDao class=com.aptech.crud.dao.impl.StudentDaoImpl
property name=sessionFactory ref=sessionFactory/property
/beanpublic class StudentDaoImpl implements StudentDao {
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public List selectAll() {
//Session session =HibernateSessionFactory.getSession();
Session session =this.sessionFactory.openSession();
Query query =session.createQuery(from Student);
List stuList =query.list();
session.close();
return stuList;
}
}
优点:在开发中不会使用到Spirng的任何类,就像没有Spring一样,便于日后移植,脱离Spring。缺点:无法利用Spring封装Hibernate时提供的额外功能,例如开发人员还必须进行异常处理。
方法2:使用Spring的HibernateDaoSupport类实现Dao。
public class StudentDaoImpl
extends HibernateDaoSupport implements StudentDao {
public List Student selectAll() {
List StudentstuList
= this.getHibernateTemplate().find(from Student);
return stuList;
}
public void insertStu(Student student) {
this.getHibernateTemplate().save(student);
}
public Student selectStu(int id) {
Student stu =
(Student)this.getHibernateTemplate().get(Student.class, id);
return stu;
}
public void updateStu(Student student) {
this.getHibernateTemplate().update(student);
}
public void deleteStu(int id) {
this.getHibernateTemplate()
.delete(this.getHibernateTemplate().get(Student.class, id));
}
}
缺点:在开发中会使用到Spring的类,对Spring产生依赖,不利于日后移植,脱离Spring。
优点:可以利用Spring封装Hibernate时提供的额外功能,例如开发人员无需进行异常处理,无需开启和关闭Session,大大减少了编码量。。
2、使用Spring管理业务层
2.1 由Spring的IoC容器
文档评论(0)