`
xp9802
  • 浏览: 1208402 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring MVC+Hibernate整合简单讲解

阅读更多

SpringMVC+Hibernate整合

 

bean对象主要代码如下所示:

public class Student implements Serializable {
 private int sid;
 private String sname;
 private String description;
}

 

dao层对象主要代码如下所示:

public class StudentDao extends HibernateDaoSupport implements IstudentDao {

 public void addStudent(Student stu) {
  this.getHibernateTemplate().save(stu);

 }

 public void deleteStudent(Serializable key) {
    Student stu = this.getHibernateTemplate().get(Student.class, key);
  if (stu != null) {
   this.getHibernateTemplate().delete(stu);
  }
 }

 public List<Student> getAll() {
   List<Student> list = this.getHibernateTemplate().find("from Student");
  return list;
 }

 public Student getByKey(Serializable key) {
    return this.getHibernateTemplate().get(Student.class, key);
 }

 public void update(Student stu) {
   this.getHibernateTemplate().update(stu);
 }

}

 

Service层主要代码如下所示:

public class StudentService {
 private IstudentDao studao;

 public IstudentDao getStudao() {
  return studao;
 }

 public void setStudao(IstudentDao studao) {
  this.studao = studao;
 }

 public void addStudent(Student stu) {
  studao.addStudent(stu);
 }

 public void deleteStudent(Serializable key) {
  studao.deleteStudent(key);
 }

 public List<Student> getAll() {
  List<Student> list = studao.getAll();
  return list;
 }

 public Student getByKey(Serializable key) {
  return studao.getByKey(key);
 }

 public void update(Student stu) {
  studao.update(stu);
 } 
}

 

Control层代码如下所示:

@org.springframework.stereotype.Controller
@RequestMapping("/student")
public class Controller {
 private StudentService stuService;

 public StudentService getStuService() {
  return stuService;
 }

 @Resource(name = "stuService")
 public void setStuService(StudentService stuService) {
  this.stuService = stuService;
 }

 // /student/save.action
 @RequestMapping("/save")
 public String saveStudent(Student stu, HttpServletRequest req,
   Map<String, Object> map) {
  System.out.println(stu);
  System.out.println(stuService);
  stuService.addStudent(stu);
  return "redirect:all.action";
 }

 @RequestMapping("/delete")
 public String deleteStudent(int sid) {
  System.out.println("deleteStudent" + sid);
  stuService.deleteStudent(sid);
  return "redirect:all.action";
 }

 @RequestMapping("/update")
 public String updateStudent(Student stu) {
  stuService.update(stu);
  return "redirect:all.action";
 }

 @RequestMapping("/key")
 public String getByKey(int sid, HttpServletRequest req) {
  Student stu = stuService.getByKey(sid);
  req.setAttribute("stu", stu);
  return "showStu";
 }

 @RequestMapping("/all")
 public String getAll(HttpServletRequest req) {
  List<Student> list = stuService.getAll();
  req.setAttribute("list", list);
  return "showAll";
 }

}


 

 web.xml配置文件中的主要配置代码

<!-- 防止session提前关闭处理 将Hibernate的Session生命延长,为了解决由于Hibernate延迟加载,Session过早关闭问题-->
 <filter>
  <filter-name>OpenSessionInViewFilter</filter-name>
  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
 </filter>

 <filter-mapping>
  <filter-name>OpenSessionInViewFilter</filter-name>
  <url-pattern>*.action</url-pattern>
 </filter-mapping>

 <servlet>
  <servlet-name>test</servlet-name>
  <!-- 负责加载springmvc的配置文件 -->
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

 </servlet>
 <servlet-mapping>
  <servlet-name>test</servlet-name>
  <url-pattern>*.action</url-pattern>
 </servlet-mapping>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- 负责加载spring的配置文件 -->
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/db.xml,/WEB-INF/beans.xml</param-value>
 </context-param>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

 

springmvc配置文件中的主要配置代码:test-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 <context:annotation-config></context:annotation-config>
 <context:component-scan base-package="com.mvc"></context:component-scan>
 <mvc:annotation-driven />
 <bean
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/"></property>
  <property name="suffix" value=".jsp"></property>
 </bean>
</beans>

 

bean对象配置文件中的主要配置代码:beans.xml

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 <import resource="db.xml" />
 <context:annotation-config></context:annotation-config>
 <context:component-scan base-package="com.mvc"></context:component-scan>
 <bean id="studao" class="com.mvc.dao.StudentDao">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
 <bean id="stuService" class="com.mvc.service.StudentService">
  <property name="studao" ref="studao"></property>
 </bean>

 <bean id="txManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
 <tx:advice id="tx" transaction-manager="txManager">
  <tx:attributes>
   <tx:method name="get*" read-only="true" />
   <tx:method name="add*" />
   <tx:method name="delete*" />
   <tx:method name="update*" />
   <tx:method name="*" />
  </tx:attributes>
 </tx:advice>
 <aop:config>
  <aop:pointcut expression="execution(* com.mvc.service.*.*(..))"
   id="pt" />
  <aop:advisor advice-ref="tx" pointcut-ref="pt" />
 </aop:config>
</beans>

前台通过jstl标签与EL表达式进行提取即可

分享到:
评论

相关推荐

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...

    spring mvc + spring + hibernate 全注解整合开发视频教程 08

    【标题】"Spring MVC + Spring + Hibernate 全注解整合开发视频教程 08" 提供了一个关于使用Java技术栈进行Web开发的课程,重点在于如何通过注解实现Spring MVC、Spring和Hibernate的深度整合。这个系列教程的第八...

    spring+spring mvc+hibernate框架整合简单小例子

    将Spring、Spring MVC和Hibernate整合在一起,可以构建出一个强大的、分层的Java Web应用架构。整合过程通常包括以下步骤: 1. 引入相关依赖:在项目的pom.xml文件中添加Spring、Spring MVC和Hibernate的依赖库。 2...

    Struts_2+Spring_3+Hibernate整合开发.part5.rar

    Struts_2+Spring_3+Hibernate整合开发.part1.rar Struts_2+Spring_3+Hibernate整合开发.part2.rar Struts_2+Spring_3+Hibernate整合开发.part3.rar Struts_2+Spring_3+Hibernate整合开发.part4.rar Struts_2+...

    轻量级Java EE企业应用实战(第4版) Struts 2+Spring 4+Hibernate整合开发 光盘 源码

    总之,《轻量级Java EE企业应用实战(第4版)》是一本针对Java EE开发者的实用指南,通过深入浅出地讲解Struts 2、Spring 4和Hibernate的整合,有助于提升开发者在企业级应用开发中的技能和效率。配合光盘中的源码,...

    spring mvc + spring + hibernate 全注解整合开发视频教程 09

    【标题】"Spring MVC + Spring + Hibernate 全注解整合开发视频教程 09" 提供了一次深入了解Java企业级应用开发的机会,特别是在使用Spring MVC、Spring和Hibernate这三大核心框架进行全注解配置的场景下。...

    spring mvc+hibernate实现事务管理(配置文件版)

    在IT行业中,Spring MVC和Hibernate是两个非常重要的框架,它们分别负责Web应用的MVC(Model-View-Controller)架构和对象关系映射(ORM)。本项目是关于如何使用Spring MVC与Hibernate结合来实现事务管理的实践教程...

    spring mvc + spring + hibernate 全注解整合开发视频教程 07

    【Spring MVC + Spring + Hibernate 全注解整合开发详解】 在Java Web开发中,Spring MVC、Spring和Hibernate是三个至关重要的框架,它们分别负责MVC模式中的Model、Service层和持久化层。本教程将深入讲解如何通过...

    《轻量级java ee企业应用实战 第3版 struts 2+spring 3+hibernate整合开发》 PDF

    这本书籍将深入讲解如何将这三个框架整合在一起,形成所谓的“SSH”(Struts 2、Spring、Hibernate)集成开发环境。通过SSH,开发者可以在控制层使用Struts 2处理用户请求,由Spring提供依赖管理和事务管理,并利用...

    Spring MVC + Hibernate +Annotation

    Spring MVC和Hibernate是Java开发中两个非常重要的框架,它们分别负责Web应用的模型-视图-...通过这个简单的案例,初学者可以了解Spring MVC和Hibernate的整合原理,进一步深入学习这两个框架的高级特性和最佳实践。

    Struts2+Spring3+Hibernate4+Maven+EasyUI整合入门视频002

    3. Spring3的集成:讲解如何配置Spring的bean,实现依赖注入,以及Spring与Hibernate的整合,例如通过SessionFactoryBean配置数据源和SessionFactory。 4. Hibernate4的使用:展示如何建立实体类,配置hibernate.cfg...

    spring mvc + spring + hibernate 全注解整合开发视频教程 15

    本教程“spring mvc + spring + hibernate 全注解整合开发视频教程 15”将深入讲解如何使用这些框架进行全注解的整合开发。 Spring MVC是Spring框架的一部分,它提供了模型-视图-控制器架构,用于构建可维护、可...

    轻量级Java_EE企业应用实战_Struts_2+Spring_3+Hibernate整合开发_第3版

    这本书《轻量级Java_EE企业应用实战_Struts_2+Spring_3+Hibernate整合开发_第3版》应该会详细讲解这些知识点,并给出实际案例,帮助读者掌握这一整合技术栈的使用。阅读该书,读者可以了解到如何在实际项目中有效地...

    spring4mvc+hibernate4的lib包整合!

    本篇将详细讲解如何将Spring 4 MVC与Hibernate 4进行整合,以便开发高效、可维护的Java Web项目。 **Spring MVC** Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的请求和响应。它提供了强大的控制器...

    轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1

    《轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1》是一本专注于Java EE企业级应用开发的书籍,主要涵盖了Struts 2、Spring和Hibernate这三个流行开源框架的整合应用。这本书对于Java...

    struts2.2.3+spring3.0.1+hibernate3.6.5整合jar包

    通过SSH整合,开发者可以享受到三个框架的优点,如Struts2的MVC设计、Spring的灵活管理和自动化、Hibernate的ORM功能,从而提高开发效率和应用质量。在实际项目中,SSH的集成应用广泛,是许多大型企业级应用的基础...

    Struts_2+Spring_3+Hibernate整合开发

    Struts_2+Spring_3+Hibernate整合开发.part1.rar Struts_2+Spring_3+Hibernate整合开发.part2.rar Struts_2+Spring_3+Hibernate整合开发.part3.rar Struts_2+Spring_3+Hibernate整合开发.part4.rar Struts_2+Spring_...

    Struts_2+Spring_3+Hibernate整合开发.part1

     《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了...

    Struts_2+Spring_3+Hibernate整合开发.part2.rar

    Struts_2+Spring_3+Hibernate整合开发.part1.rar Struts_2+Spring_3+Hibernate整合开发.part2.rar Struts_2+Spring_3+Hibernate整合开发.part3.rar Struts_2+Spring_3+Hibernate整合开发.part4.rar Struts_2+...

    Struts_2+Spring_3+Hibernate整合开发.part3.rar

    Struts_2+Spring_3+Hibernate整合开发.part1.rar Struts_2+Spring_3+Hibernate整合开发.part2.rar Struts_2+Spring_3+Hibernate整合开发.part3.rar Struts_2+Spring_3+Hibernate整合开发.part4.rar Struts_2+...

Global site tag (gtag.js) - Google Analytics