SSM(Spring+SpringMVC+Mybatis)框架整合

环境

操作系统: Windows 10

IDE: IntelliJ IDEA 2017.2.4

构建工具: Maven

搭建环境

一、创建项目

  1. 新建项目:File -> New -> Project...

在弹窗左侧菜单选择Maven,勾选Maven模板(即勾上Create from archetype前的复选框),选择maven-archrtype-webapp

SSM(Spring+SpringMVC+Mybatis)框架整合_第1张图片
新建项目
  1. 输入项目信息:GroupIdArtifactId
SSM(Spring+SpringMVC+Mybatis)框架整合_第2张图片
编辑项目信息
  1. 在弹窗中选择自己本地的Maven仓库路径,也可使用默认仓库路径,在Properties中添加参数:archetypeCatalog=internal,不然创建项目结构的过程将很慢;

原因

当我们使用Maven原型生成项目骨架时会执行mvn archetype:generate命令,而该命令执行时需要指定一个archetype-catelog.xml文件,该命令的参数-DarchetypeCatelog,参数可选值为:remoteinternallocal等,用于指定archetype-catelog.xml文件读取位置;默认是remote,即从http://repo1.maven.org/maven2/archetype-catalog.xml下载,而文件约为3~4M,下载速度很慢,导致创建过程卡住。

SSM(Spring+SpringMVC+Mybatis)框架整合_第3张图片
编辑属性
  1. 输入项目名称,单击Finish
    SSM(Spring+SpringMVC+Mybatis)框架整合_第4张图片
    编辑项目名称

生成Maven项目骨架如图:

SSM(Spring+SpringMVC+Mybatis)框架整合_第5张图片
项目骨架
  1. src/main目录下创建java目录,并标记目录为Sources Root

二、配置项目

  1. 使用maven引入项目所需的jar包,
    相关jar可以使用http://mvnrepository.com/搜索;

pom.xml


    4.0.0
    com.lwh
    SSM-Demo
    war
    1.0-SNAPSHOT
    SSM-Demo Maven Webapp
    http://maven.apache.org

    

        
        4.3.10.RELEASE

        
        3.4.4

        
        1.3.0

        
        5.1.38

        
        1.2

        
        1.2.32

        
        1.2.17

        
        1.7.25

    

    

        
        
            junit
            junit
            4.12
            test
        

        
        
            javax.servlet
            servlet-api
            2.5
        

        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-oxm
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-aop
            ${spring.version}
        
        
            org.springframework
            spring-test
            ${spring.version}
        

        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        

        
        
            org.mybatis
            mybatis-spring
            ${mybatis-spring.version}
        

        
        
            mysql
            mysql-connector-java
            ${mysql-driver.version}
        

        
        
            jstl
            jstl
            ${jstl.version}
        

        
        
            log4j
            log4j
            ${log4j.version}
        

        
        
            com.alibaba
            fastjson
            ${fastjson.version}
        

        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.8.8
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.8.8
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.9.0
        

        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        
        
            commons-io
            commons-io
            2.4
        
        
    
    
        SSM-Demo
    


  1. src/main/resources目录下新建jdbc.properties文件,用于配置数据库连接;

jdbc.properties

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssmdemo?useUnicode=true&characterEncoding=utf8
jdbc.username = root
jdbc.password = root
  1. src/main/resources目录下新建spring-mvc.xml文件,用于配置springMVC:

spring-mvc.xml




    
    

    
    
        
        
        
    

    
    
         
    
    

  1. src/main/resources目录下新建spring-mybatis.xml文件,用于整合spring和mybatis:



    
    

    
    
        
        
        
        
    

    
    
        
        
        
        
        
        
    

    
    
        
        
        
        
    


  1. src/main/resources目录下新建文件夹mybatis,在mybatis目录下新建mybatis-config.xml文件,用于配置mybatis:



    
        
        
    
    
    
    
        
    
    

  1. 配置web.xml文件:



  Archetype Created Web Application

  
  
    contextConfigLocation
    classpath*:spring-mybatis.xml
  

  
  
    org.springframework.web.context.ContextLoaderListener
  

  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  

  
    encodingFilter
    /*
  

  
  
    DispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath*:spring-mvc.xml
    
  
  
  
    DispatcherServlet
    
    /
  

  
    20
  


  1. 新建测试实体User.java
package com.ssmdemo.entity;


public class User {

    private Integer id;
    private String loginName;
    private String password;
    private String userName;

    //Getter and Setter...
}

  1. 创建Dao接口IUserDao.java:
package com.ssmdemo.dao;

import com.ssmdemo.entity.User;
import org.springframework.stereotype.Repository;
import java.util.List;

@Repository
public interface IUserDao {

    /**
     * 查询用户列表
     * @return
     */
    List listUsers();
}

  1. 实现Dao接口:
    src/main/resources目录下新建文件夹mapper,用于保存mapper需要的xml文件,新建UserMapper.xml文件,用于实现IUserDao




    
    


  1. 创建Service接口IUserService.java:
package com.ssmdemo.service;

import com.ssmdemo.entity.User;

import java.util.List;

public interface IUserService {

    List listUsers();
}
  1. 实现Service接口UserServiceImpl.java
package com.ssmdemo.service.impl;

import com.ssmdemo.dao.IUserDao;
import com.ssmdemo.entity.User;
import com.ssmdemo.service.IUserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class UserServiceImpl implements IUserService {

    @Resource
    private IUserDao userDao;

    public List listUsers() {
        return this.userDao.listUsers();
    }


}

  1. 配置ControllerUserController.java:
package com.ssmdemo.controller;

import com.alibaba.fastjson.JSONObject;
import com.ssmdemo.entity.User;
import com.ssmdemo.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
public class UserController {

    @Autowired
    private IUserService userService;

    @RequestMapping(value = "/users")
    public String queryUsers(Model model) {
        List users = this.userService.listUsers();
        model.addAttribute("users", users);
        return "user";
    }

}

  1. 创建jsp页面,在WEB-INF下创建文件夹jsp,并在jsp目录下创建文件user.jsp
<%--
  Created by IntelliJ IDEA.
  User: [email protected]
  Date: 2017/10/9
  Time: 17:28
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    
    用户列表
    


用户列表

序号 登录名 用户名
${user.id} ${user.loginName} ${user.userName}

三、项目部署

  1. 新建Tomcat容器,在工具栏中单击运行按钮;
编辑配置
  1. 添加Tomcat;
SSM(Spring+SpringMVC+Mybatis)框架整合_第6张图片
添加Tomcat
  1. 配置Tomcat;
SSM(Spring+SpringMVC+Mybatis)框架整合_第7张图片
配置Tomcat

四、运行

成功运行如图:

成功运行

参考

解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog

原文地址:https://www.lwhweb.com/2017/10/05/spring-springmvc-mybatis/

你可能感兴趣的:(SSM(Spring+SpringMVC+Mybatis)框架整合)