SSM整合(springMVC和Mybatis)

目录

1、整合思路

2、数据准备

2.1、创建表user

2.2、添加数据

2.3、依赖Jar包

3、开发dao层

3.1、spring-mvc.xml

3.2、mapper.java接口(UserMapper.java)

3.3、Mapper.xml文件(UserMapper.xml)

3.4、实体类(User.java)

3.5、spring-core.xml

3.6、Service层(UserService.java)

3.7、Contrller层(UserController.java)

4、前端页面(userList.jsp)

5、springmvc配置(spring-mvc.xml)

6、配置web.xml文件

7、项目目录结构


SSM整合的需求:

查询user表中所有用户信息

1、整合思路

第一步:整合dao层

mybatis和spring整合,通过spring管理mapper接口。

使用mapper的扫描器自动扫描mapper接口在spring中进行注册。

第二步:整合service层

通过spring管理service接口。

使用配置方式将service接口配置在spring配置文件中。

实现事务控制。

第三步:整合springMvc

由于springmvc是spring的模块,不需要整合。

2、数据准备

2.1、创建表user

CREATE TABLE `user` (  
  `id` int(11) NOT NULL AUTO_INCREMENT,  
  `username` varchar(32) NOT NULL COMMENT '用户名称',  
  `sex` char(1) DEFAULT NULL COMMENT '性别',  
  `address` varchar(256) DEFAULT NULL COMMENT '地址',  
  PRIMARY KEY (`id`)  
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8  

2.2、添加数据

+----+-----------+------+--------------+
| id | username  | sex  | address      |
+----+-----------+------+--------------+
|  1 | 王五      | 2    | NULL         |
| 10 | 张三      | 1    | 北京市       |
| 16 | 张小明    | 1    | 陕西西安     |
| 22 | 陈小明    | 1    | 陕西西安     |
| 24 | 张三丰    | 1    | 陕西西安     |
| 25 | 陈小明    | 1    | 陕西西安     |
| 26 | 王五      | NULL | NULL        |
| 28 | gdz       | 1    | 陕科大1     |
| 30 | zhangsan  | 2    | tulun        |
| 32 | lisi        | 2    | 理工         |
| 35 | 1208LG    | 2    | LG1802      |
+----+-----------+------+--------------+

2.3、依赖Jar包

依赖jar中需要包含spring的核心jar mysql的驱动jar mybatis的相关jar spring和mybatis的整合jar

<!--mybatis和spring整合包-->  
<dependency>  
  <groupId>org.mybatis</groupId>  
  <artifactId>mybatis-spring</artifactId>  
  <version>1.3.0</version>  
</dependency>  

全部的依赖

3、开发dao层

3.1、spring-mvc.xml

在resources目录下创建spring-mvc.xml来作为mybatis配置文件

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration  
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
        "http://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>  
    <!-- 全局setting配置,根据需要添加 -->  
  
    <!-- 配置mapper  
         由于使用spring和mybatis的整合包进行mapper扫描,这里不需要配置了。  
         但是必须遵循:mapper.xml和mapper.java文件同名且在一个目录  
     -->  
    <!-- <mappers></mappers> -->  
</configuration>  

3.2、mapper.java接口(UserMapper.java)

public interface UserMapper {  
    //查询用户表中所有的用户  
    public List<User> getAllUser();  
 }  

3.3、Mapper.xml文件(UserMapper.xml)

在配置文件目录resources下创建mapper目录,专门用来存储sql的配置文件

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper  
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  
<mapper namespace="com.tulun.dao.UserMapper">  
  
    <resultMap id="resultUserMapper" type="com.tulun.bean.User">  
        <id column="id" property="id"/>  
        <result column="username" property="name"/>  
        <result column="address" property="address"/>  
        <result column="sex" property="sex"/>  
    </resultMap>  
  
    <!--  
    需求查询所有用户信息  
    查询操作:select  
    -->  
    <select id="getAllUser" resultMap="resultUserMapper" >  
        select * from user;  
    </select>  
</mapper>  

3.4、实体类(User.java)

/** 
 * desc:用户实体 
 * @user:gongdezhe 
 * @date:2019/12/28 
 */  
public class User {  
    //用户ID  
    private int id;  
    //用户姓名  
    private String username;  
    //用户性别  
    private String sex;  
    //用户地址  
    private String address;  
  
    //省略getter和setter  
}  

3.5、spring-core.xml

在resources目录下创建spring-core.xml文件,通过spring容器来管理对象

<?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"  
       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">  
  
    <!--开启注解,通过扫描com.tulun路径下的所有的注解-->  
    <context:component-scan base-package="com.tulun"/>  
  
    <!--数据源-->  
    <!--c3p0连接-->  
    <bean id="dataSource1" class="com.mchange.v2.c3p0.DriverManagerDataSource">  
        <!--配置数据连接的核心配置-->  
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>  
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mybatis"/>  
        <property name="user" value="root"/>  
        <property name="password" value="123456"/>  
    </bean>  
  
    <!--  
    sqlSessionFactory配置  
    org.mybatis.spring.SqlSessionFactoryBean类来实例化sqlSessionFactory对象  
    -->  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <!--属性注入:数据源-->  
        <property name="dataSource" ref="dataSource1"/>  
        <!--读取mybatis的配置文件-->  
        <property name="configLocation" value="classpath:spring-mybatis.xml"/>  
        <!--读取mapper.xml文件-->  
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>  
    </bean>  
  
    <!--动态代理对象-->  
    <bean class="org.mybatis.spring.mapper.MapperFactoryBean">  
        <!--接口-->  
        <property name="mapperInterface" value="com.tulun.dao.UserMapper"/>  
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>  
    </bean>  
</beans>  

3.6、Service层(UserService.java)

Service层调用到层获取数据,而到层到数据库获取结果进行返回

/** 
 * service层调用dao层实现 
 */  
@Service  
public class UserService {  
    //通过注解将dao对象注入  
    @Resource  
    private UserMapper userMapper;  
  
    public List<User>  getAllUser() {  
        return userMapper.getAllUser();  
    }  
}  

3.7、Contrller层(UserController.java)

Controller调用service层提供的相应功能的方法进行业务逻辑处理

@Controller  
public class UserController  {  
    @Autowired  
    private UserService userService;  
  
    @RequestMapping("/userList")  
    public ModelAndView userList() throws Exception {  
  
        List<User> users = userService.getAllUser();  
  
        //返回ModelAndView  
        ModelAndView modelAndView = new ModelAndView();  
        //填充数据,jsp页面通过users获取数据  
        modelAndView.addObject("users",users);  
  
        modelAndView.setViewName("userList");  
  
        return modelAndView;  
    }  
}  

4、前端页面(userList.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>  
<!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>用户列表</title>  
    </head>  
    <body>  
        <table width="80%" border="1" align="center">  
            <h1 align="center">用户列表</h1>  
            <tr>  
                <td>用户ID</td>  
                <td>用户名</td>  
                <td>性别</td>  
                <td>住址</td>  
            </tr>  
  
            <c:forEach items="${users }" var="user">  
                <tr>  
                    <td>${user.id }</td>  
                    <td>${user.username }</td>  
                    <td>${user.sex}" </td>  
                    <td>${user.address }</td>  
                </tr>  
            </c:forEach>  
        </table>  
    </body>  
</html>  

5、springmvc配置(spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd  
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">  
  
    <!--扫描Controller等web注解-->  
    <context:component-scan base-package="com.tulun.controller"/>  
  
    <!--采用注解方式,加载默认的处理器-->  
    <mvc:annotation-driven/>  
  
    <!--视图解析器-->  
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>  
        <!--URL前缀-->  
        <property name="prefix" value="WEB-INF/jsp/"/>  
        <!--URL后缀-->  
        <property name="suffix" value=".jsp"/>  
    </bean>  
  
</beans>  

6、配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  
    <!-- 加载spring容器:Spring和mybatis的配置文件 -->  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>classpath:spring-core.xml</param-value>  
    </context-param>  
    <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener>  
  
    <!-- springMvc前端控制器配置 -->  
    <servlet>  
        <servlet-name>springMVC</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <init-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>classpath:spring-mvc.xml</param-value>  
        </init-param>  
        <!-- load-on-startup:表示servlet随服务启动; -->  
        <load-on-startup>1</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>springMVC</servlet-name>  
        <url-pattern>/</url-pattern>  
    </servlet-mapping>  
  
</web-app> 

7、项目目录结构

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值