




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
框架搭建说明-Struts+Spring + Hibernate的整合一、 单独搭建Hibernate简述1. 关键类与配置文件理解A. Hibernate的配置文件是hibernate.cfg.xml,其中包括了对数据库名称,数据库驱动名称,链接密码等最基本信息的配置B. 在Hibernate中,通过创建一个Session类,可以对后台数据库进行基本的CRUD操作,Session对象可以进行最基本的添加删除修改等操作,而这些操作完全被Hibernate封装成了一系列函数,而见不到过多的SQL语句。我们只需要对这些函数进行调用即可。C. HibernateSessionFactory类可以方便我们获得上述Session类的实例,它是一个工具类,并不是Hibernate自带的,而是MyEclipse给我们提供的,我们可以选择MyEclipse自动生成,也可以自己去写这个类(在添加了Spring支持以后,也可以由Spring为我们生成这样的一个类)D. POJO类也就是持久化类,它是一个简单的JAVABEAN,它主要包含了对应表中的一些属性及相应的get、set方法E. *.hbm.xml是映射文件,*就是它对应的POJO类名。这个映射文件反映了POJO类中的各个属性和数据库后台表中的字段的对应关系,它是非常重要的,通过逆向工程操作,MyEclipse可以根据已经建好的数据库表,为我们自动生成这个xml文件2. 开发中要记住以下几点A. 对应每个数据库表有一个POJO持久化类例如Guestbook.javaB. 每个表(每一个持久化类)有一个映射文件Guestbook.hbm.xmlC. 有一个Hibernate的基本配置文件hibernate.xmlD. 可能有一个SessionFactory帮助类SessionFactory.java3. 环境搭建过程新建一个Java工程,命名为hibernatedemo新建一个基本的数据库连接,以备将来供Hibernate使用,MyEclipse中点击视图,切换到DataBase Explore视图,在这个视图中,点击新建连接,进行数据库连接的基本设置。写好后,不断next,会提示数据库已经建好。然后连接这个刚刚建好的数据库。此过程中会要求输入数据库密码,并且连接成功后没有提示,如果失败则有提示。Mysql连接已经建好了,跳回到MyEclipse Explore视图,对hibernatedemo工程添加hibernate支持几次next之后,出现数据库连接的信息,配置如下在这里可以选择是否生成一个帮助我们产生Session的帮助类SessionFactory选择生成,将来如果要添加Spring支持,则此处不选Hibernate支持导入成功,显示如下的配置页面打开刚才新建好的连接,并在下拉列表中找到你需要进行操作的的表,右键,点Hibernate Reverse Engeering,这就是创建逆向工程,从一个数据库表生成相应的POJO持久化类和对应的POJO.hbm.xml映射文件注意,如果单独添加Hibernate支持,可以不选择生成DAO,将来在与Spring整合的时候,再添加DAO。Next,不需更改很多,ID generator可以选择native完成后,回到MyEclipse Explore透视图,可以看到src包下面多了Guestbook.java和Guestbook.hbm.xml文件,这就是持久化类和它对应的xml映射文件,映射文件中的就表示数据库表guestbook表的主键。而HibernateSessionFactory.java这个类就是帮助我们获得Session对象的帮助类。Hibernate.cfg.xml文件中,包括了对数据库连接的基本信息的配置环境搭建步骤归纳为:A. 新建JavaProjectB. 增加Hibernate支持C. 生成HibernateSessionFactory类(辅助获取Session类的实例)D. 根据数据库表生成POJO和映射文件二、 单独搭建Spring简述1. 关键类及配置文件理解A. ClassPathXmlWebApplicationContext类:使用Spring,首先是与此类打交道。它对应于Servlet中的ServletContext类。使用Spring框架可以 通过ClassPathXmlWebApplicationContext类创建一个Spring的容器,另外在Web开发中,可以使用 ServletContext类创建一个Servlet容器。我们要在Web开发中使用Spring框架,则需要让web的容器servletcontext对象能够得知spring的容器ApplicationContext对象,也要让spring的容器能够得到web的容器。这样,Servlet和Spring就可以相互获得彼此的对象。简单说,做spring开发,就是要首先创建ApplicationContext对象B. applicationContext.xml配置文件:一个ApplicationContext对象必须要一个XML文件. 这个XML文件配置了ApplicationContext容器管理的javabean以及各个BEAN的属性和他们之间的关系。2. 环境搭建过程新建项目,并选择增加Spring支持完成,可以看到Spring的配置文件新建一个类,用于自己的操作,只需要包含基本的get和set方法就可以了如果按传统的方式,如果想使用这个Message类(就是一个javabean),就要首先生成这个类的对象。而现在添加了Spring的支持,就可以通过Spring获取这个Message类的对象,从而附加了很多额外的操作。比如对它进行缓冲,需要的属性和参数可以注射进来。如果想用Spring来获取Message的对象就要到applicationContext.xml中增加相应的配置信息,到applicationContext.xml文件中,右键-Spring- new Bean。这样在Spring的配置文件中中增加了一个新的Bean信息标签,用来标记Message这个类的信息。这个新的Bean的名字我们可以自己命名,这里叫做msgBean。在配置文件中可以看到,已经增加了这个Message的信息,将来可以使用Spring获取Message这个类的对象,并使用相应的一些方法。而这个Message类的对象,可以在Spring容器中被管理,很方便。在下面一栏中,我们可以看到当前Spring添加的所有Bean的信息可以看到,由于我们只添加了一个Bean,所以这里只有一条记录,这个被添加的Bean的类型是Message类,新建一个名称为SpringTest的测试类运行这个测试类,可见结果三、 Spring+Hibernate的整合1. 关键步骤A. 添加Hibernate的支持,注意,不需要产生HibernateSessionFactory。因为之后会由Spring来产生一个SessionFactoryB. 添加Spring的支持,除 Spring2.0 Core Liberies之外,还要Spring2.0 PersisitenceJDBC Liberaries。然后选择需要添加LocalSessionFactory,用来生成一个名为sessionFactory的BeanC. 生成Hibernate的POJO类和映射文件XXXXX.hbm.xml。在Database Explore视图中,选定一个表,右键生成逆向工程,配置过程中,选择:Hibernate mapping、Update hibernate configuration whith mapping file locationJavaData Object,暂时不选择Create abstract classJavaData Access,不选Generate precise findBymethods DAO type选择 Spring DAOD. 配置完成后应该出现了XXXX.java (POJO类),XXXXDAO.java(DAO设计模式中提供给我们的DAO类),XXXX.hbm.xml三个文件:XXXXDAO类继承自HibernateDaoSupport类,类中实现了很多的对数据库进行操作的方法,例如添加删除更新等,这些方法就不用我们自己去写了。而在没有Spring支持的Hibernate应用中,我们需要在测试文件的main函数中自己手动生成一个session,然后对这个session进行操作。现在有了Spring的支持,我们只需要在测试文件的main函数中创建一个XXXXDAO类的对象,然后通过此对象直接调用XXXXDAO类的各种添加删除更新等操作就可以了。applicationContext.xml配置文件中,已经设置好了DAO对象,根据其id可以调用相应的DAO类.E. 编写自己的测试类,通过ClassPathXmlApplicationContext方法类创建一个Spring的容器,然后使用这个容器的getBean()方法,来获取一个XXXXDAO类的对象。最后,通过这个XXXXDAO 类的对象dao来调用它自己的方法,如添加删除修改等,这些方法又是通过调用Hibernate的的操作来实现的, 2. 环境搭建过程A. 建立一个MySql数据库,例如test,写一个表,如guestbookB. 在MyEclipse中,选择Database Explore透视图,新建一个数据库连接,操作方法与之前Hibernate部分相同C. 新建工程,例如hibernatespring,添加Hibernate支持,配置方法基本与Hibernate部分相同,但是不要选择SessionFactory这里不要选Create SessionFactory ClassD. 添加Spring支持,在这部分创建一个SessionFactory选择AOP、CORE和Persistence Core三个库文件下面,一般的Spring工程中是没有的,但是由于我们之前添加了Hibernate支持,所以Spring检测到Hibernate,选择这里,就可以使用Spring对于Hibernate的支持,通过过Spring容器来调用Hibernate的session,可以实现Hibernate自身不具备的一些功能可以看到,Spring的配置文件中,获取了SessionFactoryBean,并且制定了Hibernate的配置文件的路径信息等,这样Spring和Hibernate就能通信了E. Hibernate的POJO类和配置文件的生成切换到Database Explore透视图,操作方法基本与上面Hibernate部分相同在表名上右键-逆向工程Hibernate Reverse Engineering,选择一下几项,注意DAO type选择SpringDAO完成,可见包里面出现了一个POJO类Guestbook.java一个映射文件Guestbook.hbm.xml还有一个GuestbookDAO.java文件,这个类就是使用Spring中的HibernateSupport类中的方法,来便捷地完成对Hibernate中方法的调用。在GuestbookDAO.java中,提供了对数据库查、增、删、改等一系列操作,可以改变其中某些方法的名字,以便更直观,也可以将不需要的方法删除。这里我删除了findByExample、findByProperty、atachClean、getFormApplicationContext几个方法,如果将来要使用这几个方法,可以再具体学习其功能。另外,将sava改为add,将AttachDirty改为upDate修改后的可以在Spring配置文件中看到对于DAO类的配置,以后可以通过guestbookDAO这个名字,获取DAO的操作F. 写自己的测试类,通过一个Spring的容器获取GuestbookDAO类型的对象,然后通过这个对象来调用Hibernate的方法,去完成对底层数据库的CRUD操作。测试结果如下:四、 Dwr+Struts+Spring+Hibernate的整合导入ext+struts的框架模板 添加spring支持,并选择支持类库选择applicationContext.xml配置文件的路径,注意这里要选/WEB-INF/下添加Hibernate支持,并选择相应支持类库这里选择将Hibernate委托给Spring进行管理为Spring所支持的Session工厂起名叫做sessionFactory选择事先已经建好的数据库连接这里不选择Hibernate自己的Session工厂/到这里了哈!配置Struts,添加对Spring的支持插件。选择ContextLoaderPlugIn这个插件添加一个属性,名为contextConfigLocation,value为/WEB-INF/applicationContext.xml再添加一个Controller的配置,从而action以后不用再写type,所以之类可将上面的type删除修改如上到这里,需要建一些包,都是必备的包,包括com.haodong.vo,用于存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老年人健康管理考核试题及答案
- 2025年高年龄测试题及答案
- 慢性膀胱炎合并膀胱黏膜白斑护理查房
- 阿图什市2025-2026学年八年级上学期语文期中模拟试卷
- 安徽省2025年高二学业水平合格性考试数学试卷及答案
- 2025 年小升初福州市初一新生分班考试英语试卷(带答案解析)-(外研版)
- 湖北省2025年一级建筑师建筑材料与构造辅导:喷射混凝土试题
- 山东省日照市莒县第三中学2024-2025学年七年级下学期第三次月考生物试题(含答案)
- 北师大版五年级上册数学第五单元 分数的意义 检测卷(无答案)
- 购买公司的合同范本
- 中级职称评审述职报告
- 2025年9月-2026年1月安全工作安排表
- 2025年事业单位招聘考试建筑类综合能力测试试卷八十二:建筑工程施工监理案例分析八
- 2025年事业单位招聘考试综合类专业能力测试试卷(工程类)-建筑工程施工质量控制
- 2025年教育法学法规试题及答案
- 在接受诫勉谈话时的检讨及整改情况报告
- 汉教课堂观察汇报
- 2025年四川省高考化学试卷真题(含答案解析)
- 小学生养成文明行为习惯自评检查表
- 2025年高级(三级)评茶员职业技能鉴定《理论知识》真题卷(后附答案及解析)
- 2025年注册会计师考试财务成本管理试题及答案解析
评论
0/150
提交评论