`

mybatis实战教程(mybatis in action)之六:与Spring MVC 的集成

 
阅读更多

前面几篇文章已经讲到了mybatis与spring 的集成。但这个时候,所有的工程还不是web工程,虽然我一直是创建的web 工程。今天将直接用mybatis与Spring mvc 的方式集成起来,源码在本文结尾处下载.主要有以下几个方面的配置
1. web.xml 配置 spring dispatchservlet ,比如为:mvc-dispatcher
2. mvc-dispatcher-servlet.xml 文件配置
3. spring applicationContext.XML文件配置(与数据库相关,与mybatis sqlSessionFaction 整合,扫描所有mybatis mapper 文件等.)
4. 编写controller 类
5. 编写页面代码.
先有个大概映像,整个工程图如下:



 
1. web.xml 配置 spring dispatchservlet ,比如为:mvc-dispatcher

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>zw-mybatis</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:/config/applicationContext.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<listener>
		<listener-class>
			org.springframework.web.context.ContextCleanupListener
		</listener-class>
	</listener>
	<servlet>
		<servlet-name>mvc-dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>mvc-dispatcher</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

 2. 在web.xml 同目录下配置 mvc-dispatcher-servlet.xml 文件,这个文件名前面部分必须与你在web.xml里面配置的DispatcherServlet 的servlet名字对应.其内容为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	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/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<context:component-scan base-package="com.handly.mybatis.controller" />
	<mvc:annotation-driven />

	<mvc:resources mapping="/static/**" location="/WEB-INF/static/" />
	<mvc:default-servlet-handler />

	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/pages/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>

</beans>

 3. 在源码目录 config 目录下配置 spring 配置文件 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	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/util
         http://www.springframework.org/schema/util/spring-util-2.0.xsd">
	
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/mis4_produce?characterEncoding=utf8" />
		<property name="username" value="root" />
		<property name="password" value="123456" />
	</bean>

	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.handly.mybatis.dao" />
	</bean>

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!--dataSource属性指定要用到的连接池 -->
		<property name="dataSource" ref="dataSource" />
		<!--configLocation属性指定mybatis的核心配置文件 -->
		<property name="configLocation" value="classpath:/config/Configuration.xml" />

	</bean>


</beans>

 4. 编写 controller 层

package com.handly.mybatis.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import com.handly.mybatis.dao.UserDao;
import com.handly.mybatis.model.User;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/user")//请求路径
public class UserController {
	@Autowired
    UserDao userDao;

    @RequestMapping("/list")//请求方法
    public ModelAndView listall(HttpServletRequest request,HttpServletResponse response){
    	List<User> list = userDao.selectUsers("admin");
        if(null!=list && list.size()>0){
        	for(User user: list){
        		System.out.println(user.getUsername());
        		System.out.println(user.getDate());
        	}
        }else{
        	System.out.println("list is null;");
        }
        ModelAndView mav=new ModelAndView("user/list");// 访问页面目录
        mav.addObject("users",list);
        return mav;
    }
}

 添加jar包:

servlet-api.jar、spring-web.jar、spring-webmvc.jar

5. 页面文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<c:forEach items="${users}" var="user"> 
        ${user.id }--${user.username }--${user.id }<br />
    </c:forEach>
</body>
</html>

  添加jar包:

jstl-1.2.jar

  • 大小: 100.7 KB
分享到:
评论

相关推荐

    MyBatis学习代码

    mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in ...

    spring in action mvc 第四版 中文版

    《Spring in Action: Spring MVC 第四版 中文版》是一本深入探讨Spring MVC框架的权威指南,适合Java开发者阅读。本书全面介绍了如何使用Spring MVC来构建健壮、高性能的Web应用程序。Spring MVC是Spring框架的核心...

    springmybatis

    mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in ...

    spring3mvc+mybatis3的一个登录实例,页面是bootstrap

    在本项目中,我们探索的是一个基于Spring 3 MVC和MyBatis 3构建的登录实例,用户界面采用了流行的Bootstrap框架。这个实例展示了如何将这三个关键的技术组件整合在一起,为Web应用提供强大的后端功能以及现代化的...

    spring in action 中文版6-11.zip

    《Spring in Action》是关于Spring框架的一本权威指南,它深入浅出地介绍了Spring的核心概念和技术,涵盖了从基础到高级的各个层面。该书的中文版6-11章节主要涉及了Spring框架的关键特性和实战应用,以下是这些章节...

    struts2、 spring4、 spring mvc、 hibernate4、 mybatis的三大框架(三套)

    3. Spring MVC:Spring MVC为开发者提供了一种组织和构建Web应用的清晰方式。它通过DispatcherServlet来处理请求,Controller处理业务逻辑,Model存储数据,View负责展示。Spring MVC还支持模板引擎如FreeMarker或...

    spring+mybatis+strust2

    1. Spring MVC: Spring MVC是Spring框架的一部分,专门用于处理Web请求。它遵循模型-视图-控制器(MVC)设计模式,将业务逻辑、数据展示和用户交互分离,提供了一个清晰的应用结构。在Spring MVC中,Controller接收...

    struts2+spring+mybatis框架

    Struts2、Spring和MyBatis是Java Web开发中经典的三大框架,它们组合起来可以构建出高效、可维护的Web应用程序。以下是对这三个框架及其整合的详细解释。 **Struts2框架** Struts2是一个基于MVC(Model-View-...

    spring mvc mybatis extjs 3.4 权限管理

    ### Spring MVC MyBatis ExtJS 3.4 权限管理系统关键知识点解析 #### 一、项目背景与架构概述 本系统采用Spring MVC框架作为控制层,MyBatis作为持久层框架,ExtJS 3.4作为前端界面展示工具,实现了权限管理功能,...

    spring+struts+mybatis整合项目

    在整合项目中,Spring与Struts可以无缝集成,Spring可以管理Struts的Action,增强其功能。 **MyBatis框架** 是一个轻量级的持久层框架,它简化了数据库操作,通过XML或注解的方式配置SQL语句,将SQL与Java代码分离...

    spring+mybatis+maven的整合

    **MyEclipse** 是一个集成开发环境,它集成了Maven、Tomcat等工具,使得在其中进行Spring+MyBatis的整合更为方便。开发者可以使用MyEclipse创建项目,导入相关的Maven依赖,并配置项目的运行环境。 **Struts** 是一...

    struts2_spring_mybatis

    此外,Spring还提供了对数据库操作的支持,如JDBC模板和ORM集成,以及对其他框架的集成功能,如与Struts2和MyBatis的整合。 2. **Struts2框架**:Struts2是基于MVC设计模式的Web开发框架,它负责处理HTTP请求并将其...

    spring-in-action-examples:Spring in Action Book(第 3 版)中的示例

    《Spring in Action》是关于Spring框架的一本经典书籍,第3版详细介绍了Spring的各种功能和最佳实践。这个压缩包文件“spring-in-action-examples-master”包含的代码示例旨在帮助读者深入理解书中所讲解的内容。...

    spring+struts2+mybatis整合

    SSM整合,即Spring、Struts2和MyBatis三者的集成,是Java Web开发中常见的一种技术栈组合。这三种框架各自承担不同的职责:Spring作为应用上下文和依赖注入容器,负责管理对象和处理事务;Struts2作为 MVC 框架,...

    Spring in Action 第四版英文原版+源码

    《Spring in Action》第四版是关于Spring框架的一本权威指南,由Manning出版社出版。这本书深入浅出地介绍了如何使用Spring框架构建强大的Java应用程序。英文原版提供了最原始的作者见解和技术细节,对于想要深入...

    spring+mybatis+struts

    标题 "spring+mybatis+struts" 暗示了我们正在讨论一个基于Java的Web开发框架集成,其中Spring作为核心容器,MyBatis作为持久层框架,而Struts则作为表现层框架。这种组合在过去的几年里非常流行,因为它提供了良好...

    spring-mybatis-struts2-master ——demo

    《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...

    springInAction第四版中文版

    6. **数据访问集成**:Spring支持多种数据访问技术,包括JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis。它提供了事务管理服务,可以在多个数据库操作之间保证数据一致性。 7. **Spring Boot**...

    Spring in action 第四版与第五版,出版社版本,第四版有中文版本

    《Spring in Action》是Spring框架领域的一本经典著作,提供了深入浅出的Spring技术讲解,深受开发者喜爱。这本书分为第四版和第五版,两者都涵盖了Java Spring框架的核心知识,但随着Spring框架的发展,每个新版本...

    mybatis+struts+spring搭建好的框架

    1. **源代码**:包括Spring配置文件(如`applicationContext.xml`)、Struts配置文件(如`struts.xml`)、MyBatis配置文件(如`mybatis-config.xml`)以及相关的DAO、Service、Action类等。 2. **数据库脚本**:创建...

Global site tag (gtag.js) - Google Analytics