SSM整合 ——测试代码

  • 参考文章https://www.cnblogs.com/qgy960328/p/8118344.html

SSM (SpringMVC + Spring + Mybatis)整合

  • 文件结构SSM整合 ——测试代码_第1张图片

各层之间调用关系

SSM整合 ——测试代码_第2张图片

数据库建立

  • 数据库建立
/*
 Navicat Premium Data Transfer

 Source Server         : db_mysql
 Source Server Type    : MySQL
 Source Server Version : 80011
 Source Host           : localhost:3306
 Source Schema         : ssmdb

 Target Server Type    : MySQL
 Target Server Version : 80011
 File Encoding         : 65001

 Date: 20/06/2019 00:00:25
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` int(18) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `sex` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `addr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '欧阳铁柱', '男', '漕溪路');
INSERT INTO `user` VALUES (2, '上官翠花', '女', '防范街');

SET FOREIGN_KEY_CHECKS = 1;

Maven 配置

  • pom.xml



  4.0.0

  com.ssmIntegration
  com.ssmIntegration
  1.0-SNAPSHOT
  war

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

  
    UTF-8
    1.8
    1.8
    
    5.1.4.RELEASE
    
    3.4.6

  

  
    
    
    
      org.apache.ant
      ant
      1.9.6
    

    
    
      org.apache.ant
      ant-launcher
      1.9.6
    

    
    
      aopalliance
      aopalliance
      1.0
    

    
    
      org.ow2.asm
      asm
      7.0
    

    
    
      org.aspectj
      aspectjweaver
      1.9.2
    

    
    
      cglib
      cglib
      3.2.5
    

    
    
      org.apache.commons
      commons-dbcp2
      2.1.1
    

    
    
      commons-logging
      commons-logging
      1.2
    

    
    
      org.apache.commons
      commons-pool2
      2.4.2
    

    
    
      org.javassist
      javassist
      3.20.0-GA
    

    
    
      org.apache.logging.log4j
      log4j-core
      2.11.1
    

    
    
      log4j
      log4j
      1.2.17
    

    
    
      org.apache.logging.log4j
      log4j-api
      2.11.1
    

    
    
      org.mybatis
      mybatis
      ${mybatisVersion}
    

    
    
      org.mybatis
      mybatis-spring
      1.3.2
    

    
    
      mysql
      mysql-connector-java
      8.0.15
    

    
    
      ognl
      ognl
      3.2.10
    

    
    
      org.slf4j
      slf4j-api
      1.7.25
    

    
    
      org.apache.logging.log4j
      log4j-slf4j-impl
      2.8.2
    

    
    
      org.springframework
      spring-aop
      ${springVersion}
    

    
    
      org.springframework
      spring-aspects
      ${springVersion}
    

    
    
      org.springframework
      spring-context
      ${springVersion}
    

    
    
      org.springframework
      spring-beans
      ${springVersion}
    

    
    
      org.springframework
      spring-core
      ${springVersion}
    

    
    
      org.springframework
      spring-expression
      ${springVersion}
    

    
    
      org.springframework
      spring-jdbc
      ${springVersion}
    

    
    
      org.springframework
      spring-tx
      ${springVersion}
    

    
    
      org.springframework
      spring-web
      ${springVersion}
    

    
    
      org.springframework
      spring-webmvc
      ${springVersion}
    

    
      junit
      junit
      4.11
      test
    
      
          org.junit.jupiter
          junit-jupiter-api
          RELEASE
          compile
      
  
  
    com.ssmIntegration
    
      
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-war-plugin
          3.2.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    

    
      
        
        src/main/java
        
          **/*
        
        false
      
    
  


SMM 配置文件

  • applicationContext.xml —— Spring配置文件




    
    

    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
    

    
    

    
    
        
        

        
        
    

    
    
        
    

    
    



  • db.properties —— 数据库配置文件
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmdb
jdbc.username=root
jdbc.password=1006
#定义初始连接数
jdbc.initialSize=0
#定义最大空闲
jdbc.maxTotal=20
#定义最小空闲
jdbc.minIdle=1
#定义最长等待时间
jdbc.maxWaitMillis=60000
  • mybatis-config.xml —— Mybatis配置文件



    
    
    
        
    
    

    
    
  • springmvc-config.xml —— springMVC 配置文件



    
    

    
    
        
        

        
        
    

    
    

    
    


SMM 示例代码(Service)

Dao 层

  • UserDao.xml



    

  • UserDao.java
package com.ssm.test.mapper;

import com.ssm.test.VO.PojoVO;
import com.ssm.test.VO.pojo.User;

/**
 * @InterfaceName UserDao
 * @Author 秃头的JJ
 * Date 2019/6/19 0019 22:38
 */


public interface UserDao {

    User getUserById(PojoVO pojoVO) throws Exception;

}

Service 层

  • UserServiceImpl.java
package com.ssm.test.service.serviceImpl;

import com.ssm.test.VO.PojoVO;
import com.ssm.test.VO.pojo.User;
import com.ssm.test.mapper.UserDao;
import com.ssm.test.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @ClassName UserServiceImpl
 * @Author 秃头的JJ
 * Date 2019/6/19 0019 22:58
 * Version 1.0
 */
@Service
@Transactional // 事务管理注解
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    @Override
    public User getUserById(PojoVO pojoVO) throws Exception {
        return userDao.getUserById(pojoVO);
    }
}

控制层

package com.ssm.test.controller;

import com.ssm.test.VO.PojoVO;
import com.ssm.test.VO.pojo.User;
import com.ssm.test.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @ClassName SSMController
 * @Author 秃头的JJ
 * Date 2019/6/19 0019 22:37
 * Version 1.0
 */
@Controller
@RequestMapping("/user")
public class SSMController {

    @Autowired
    private UserService userService;

    @RequestMapping("/get")
    public String getUser(Model model) throws Exception {

        PojoVO pojoVO = new PojoVO();
        User user = new User();
        user.setId(1);
        pojoVO.setUser(user);
        user = userService.getUserById(pojoVO);
        System.out.println(user.toString());
        model.addAttribute("user", user);
        return "user";
    }

}

你可能感兴趣的:(SMM)