快速业务通道

一个简单的hibernate与spring集成 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

一个简单的hibernate与spring集成

时间:2011-09-09 blogjava qin

下面介绍一下hibernate与spring的集成,这两个框架的集成关键在于 applicationContext.xml文件的配置,其实很简单的,但需要注意的是,导入包 时一定选择导入到webroot/web-inf/lib目录中,而且hibernate一般要在spring 之前导入,因为集成时要用到sessionFactory类,

一、初始化工作:新建一个项目,如(ssh),在此项目中导入对hibernate的支持 ,新建一个表sstest表,有字段id,username,password,id为主健和自动增1

二、对新建的数据表进行hibernate进行映射,打开myhibernate视图,右击你 sstest表->选hibernate revers engineering选项,然后把Sstest.hbm.xml 文件映射到hibernateDao包中,同时选中工具 hibernate mapping file...,  java data object....., java data access object dao...选项,先中这几个 文件就可以产生下列几个.java文件:BaseHibernateDAO. ,HibernateSessionFactory ,IBaseHibernateDAO, Sstest,SstestDAO,最后你对 你的代码进行测试,测试成功,进行下一步

三、在项目中导入对spring的支持,在导入项目后不但要自动产生 applicationContext.xml,而且在这个文件里会出现下面的内容:

<bean id="sessionFactory" 

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 <property name="configLocation" 

value="classpath:hibernate.cfg.xml"> 
 </property>
</bean>

这就是为什么要先要导入hibernate的原因

四、若你对spring的ioc比较熟,你可以直接进入下一步,如果不是很了解, 那么你可以写一个比较简单的例子测试一下看是否成功,必竟框架和在一起,所 以小心点好,不然在以后出了有问题不好找

五、进入myeclipse hibernate视图下,在新的包(如springDao)中重新对 sstest表进行映射,这次映射要注意的就是:打开hibernate reverse engineering对话框中复选按钮java data access object(dao)(hibernate 3 only)下,dao type 不是选basic dao选项,而是选spring dao选项,当你映射 成功后,就会出现Sstest.java, SstestDAO.java, Sstest.hbm.xml几个文件, 你可以写一个类进行测试,如:

springdaotest.java

package org.test;
import org.springframework.context.ApplicationContext;
import 

org.springframework.context.support.ClassPathXmlApplicationContext;
import springDao.Sstest;
import springDao.SstestDAO;
public class SpringDaoTest {
public static void main(String a[]){
 ApplicationContext cont = new ClassPathXmlApplicationContext

("applicationContext.xml");
 SstestDAO s = (SstestDAO) cont.getBean("SstestDAO");
  SstestDAO s = (SstestDAO) cont.getBean("SstestDAOProxy");
 Sstest st = new Sstest();
 st.setUsername("spring");
 st.setPassword("spring");
 s.save(st); 
}
}

一个简单的hibernate与spring集成(2)

时间:2011-09-09 blogjava qin

六、由于映射了两次,所以你要在hibernate.cfg.xml文件中,把原来映射的 文件注解掉:

<mapping resource="hibernateDao/Sstest.hbm.xml" />

因为现在已有一行这样的代码:

<mapping resource="springDao/Sstest.hbm.xml" />

七、实现hibernate spring 代理,加上下面的代码即可:

<bean id="transactionManager" 

class="org.springframework.orm.hibernate3.HibernateTransactionManager"

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号