SSM(Spring+SpringMVC+MyBatis)框架整合实例搭建

一、 Spring+MyBatis整合

1. 在pom.xml中添加Spring依赖和MyBatis依赖

  • Spring核心包:core、beans、context、tx、web、test
  • SpringMVC:spring-webmvc
  • mysql数据库连接驱动:mysql-connector-java
  • MyBatis:mybatis、mybatis-spring
  • 数据库连接池驱动,如:Druid,用于配置数据库
  • com.alibaba.json用于格式化日志输出
  • jackson:?

示例代码:




  4.0.0

  com.cmos
  ssmdemo
  1.0-SNAPSHOT
  war

  ssmdemo Maven Webapp
  
  http://www.example.com

  
      1.7
      1.7

      
      UTF-8
      UTF-8
      
      4.0.3.RELEASE
      
      3.4.1
  

  

      
      
          javax
          javaee-api
          7.0
      

      
      
          junit
          junit
          4.12
          test
      


      
      
          log4j
          log4j
          1.2.17
      
      
      
          ch.qos.logback
          logback-classic
          1.2.2
      

      
      
          com.alibaba
          fastjson
          1.2.49
      

      
      
          com.fasterxml.jackson.core
          jackson-databind
          2.8.7
      


      
      
          mysql
          mysql-connector-java
          8.0.12
          runtime
      

      
      
          com.mchange
          c3p0
          0.9.5.2
      

      
      
          org.mybatis
          mybatis
          ${mybatis.version}
      

      
      
          org.mybatis
          mybatis-spring
          1.3.1
      

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

      
      
          org.mybatis.generator
          mybatis-generator-maven-plugin
          1.3.4
      

  

  
      ssmdemo
      
          
              
                  maven-clean-plugin
                  3.0.0
              
              
              
                  maven-resources-plugin
                  3.0.2
              
              
                  maven-compiler-plugin
                  3.7.0
              
              
                  maven-surefire-plugin
                  2.20.1
              
              
                  maven-war-plugin
                  3.2.0
              
              
                  maven-install-plugin
                  2.5.2
              
              
                  maven-deploy-plugin
                  2.8.2
              

              
              
                  org.mybatis.generator
                  mybatis-generator-maven-plugin
                  1.3.4
                  
                      true
                      true
                  
              
          
      
  

2. 在resources中创建jdbc.properties文件,配置数据库连接参数

  • 将数据库连接配置参数保存在该文件中
jdbc.driver=com.mysql.jdbc.Driver
#数据库地址
jdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8
#用户名
jdbc.username=root
#密码
jdbc.password=admin
#最大连接数
maxPoolSize=30
#最小连接数
minPoolSize=10
#关闭连接后不自动commit
autoCommitOnClose=false
#获取连接超时时间
checkoutTimeout=10000
#当获取连接失败重试次数
acquireRetryAttempts=2
  • 如果工程中使用了log4j,需要在resources中创建log4j.properties文件,否则在项目启动过程中会出现log4j没有正确初始化的warning
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n

#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

3. 在resources中创建spring-mybatis.xml文件

  
  

  
  
      
      
      
      
      
      
      
      
      
  

  
  
      
      
      
      
      
      
  

  
  
      
      
      
      
  

  
  
      
      
  

  
  

4. 使用MyBatis genenrator生成代码

  • 基于Maven插件的MyBatis使用方法,参考:https://www.jianshu.com/p/8a3b192d53ff

二、 Spring+SpringMVC整合

  1. 在resources中创建spring-mvc.xml



  
  

  
  

  
  
      
      
      
  

  
  

  1. 配置web.xml


    Archetype Created Web Application

    
    
        contextConfigLocation
        classpath:spring-mybatis.xml
    

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

    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        org.springframework.web.util.IntrospectorCleanupListener
    

    
    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
        true
    

    
        SpringMVC
        
        /
    
    
    
        /index.jsp
    

三、 编写iservice、service.impl、controller

  1. 测试页面showUser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>


  
    测试
  

  
    ${user.user_name}
  

    • IUserSV:
package com.cmos.ssm.iservice;

import com.cmos.ssm.beans.User;

public interface IUserSV {
    User getUserByID(int id);
}
  • UserSVImple:
package com.cmos.ssm.service.impl;

import com.cmos.ssm.beans.User;
import com.cmos.ssm.dao.UserDAO;
import com.cmos.ssm.iservice.IUserSV;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class UserSVImpl implements IUserSV {

    @Autowired
    private UserDAO userDAO;

    @Override
    public User getUserByID(int id) {
        return userDAO.selectByPrimaryKey(id);
    }
}
  • UserController
package com.cmos.ssm.controller;

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 com.cmos.ssm.iservice.IUserSV;
import com.cmos.ssm.beans.User;
import org.springframework.web.bind.annotation.RequestMethod;


@Controller
public class UserController {

    @Autowired
    private IUserSV userService;

    @RequestMapping(value = "/showUser", method = RequestMethod.GET)
    public String toIndex(Model model){
        User user = this.userService.getUserByID(1);
        model.addAttribute("user", user);
        return "showUser";
    }
}
  1. 打包
mvn clean package
  1. 将打包后的.war文件放在tomcat目录下的webapps文件夹中,启动tomcat服务器

四、 测试通过,搭建完成

SSM(Spring+SpringMVC+MyBatis)框架整合实例搭建_第1张图片
测试结果页面

SSM(Spring+SpringMVC+MyBatis)框架整合实例搭建_第2张图片
搭建完成后的工程目录

你可能感兴趣的:(SSM(Spring+SpringMVC+MyBatis)框架整合实例搭建)