SMM框架 基础简单的SSM搭建过程

各位童鞋,本文主要搭建SSM框架(Spring,SpringMVC,MyBatic),希望能帮助到刚刚学习这些框架的小伙伴,以及能够直接上手实现业务,代码中都做了详细的说明。废话不多说,下面直接进入主题(文末会附上源码地址

目录

一 创建Maven项目

二 配置文件

2.1 配置mybatis-config.xml

2.2 配置mapper.xml

2.3 配置jdbc.properties

2.4 配置applicationContext.xml

2.5 配置springmvc-servlet.xml

2.6 配置web.xml

2.7 配置log4j.properties

2.8 引入依赖

三 测试

3.1 创建java文件

3.1.1 UserController类

3.1.2 User实体类

3.1.3 UserService接口 

3.1.4 UserServiceImpl实现类

3.1.5 UserMapper类

3.2 创建MySql数据库表

3.3 创建users.jsp文件

3.4 结果

 四 源码下载地址

 


一 创建Maven项目

博主这里用的是IDEA创建的项目,和Eclipse的结构都差不多,下图是SSM搭建的整体结构图

SMM框架 基础简单的SSM搭建过程_第1张图片

二 配置文件

这里需要的配置文件主要有1.mybatis-config.xml  2.mapper.xml  3.jdbc.properties  4.applicationContext.xml  5.springmvc-servlet.xml  6.web.xml

2.1 配置mybatis-config.xml




    
    
        
    

2.2 配置mapper.xml

这里博主就配置了一个UserMapper,童鞋们,你们可以根据功能的模块需求,自己可以在/resources/mybatis/mapper文件夹下添加添加其他的模块,例如:添加一个订单模块的话,加一个OrderMapper.xml,内容修改下即可






    

2.3 配置jdbc.properties

小伙伴们,博主这里用的mysql数据库,这里配置的时候,注意要把第二行改成你们自己的数据库名,以及用户名和密码都要改成你们自己的用户名和密码(注意:后面千万不能加空格,之前博主配置的时候无意中多加了个空格,找了半天错误

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=123

2.4 配置applicationContext.xml

applicationContext配置文件项目启动的时候就要加载了,所以我们要把数据源,事务,切面和一些配置文件引入进来,主要结构有:

1.引入jdbc.properties配置文件位置

2.数据源dataSource

3.引入mybatis-config.xml文件位置

4.引入mapper.xml文件位置

5.事务管理器

6.切面配置




    
    
    
    
    
    
        
    

    
    
        
        
        
        
    
    
    
        
        
        
        
        
        
        
        
    


    
    
        
    
    
    
        
            
            
            
            
        
    
    
    
        
        
        
        
    

2.5 配置springmvc-servlet.xml

此配置文件主要配置了controller扫描,注解驱动,视图解析器,处理静态资源



    
    

    
    

    
    
        
        
        
        
        
    

    
    

2.6 配置web.xml

此配置文件主要是加载之前配置的springmvc-servlet.xml文件和applicationContext.xml文件以及配置字节码过滤器




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

    
    
        contextConfigLocation
        classpath:spring/applicationContext.xml
    
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:spring/springmvc-servlet.xml
        
        
        1
    
    
        springmvc
        
        /
    


2.7 配置log4j.properties

此配置文件主要针对异常问题进行定位

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=d:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=debug, stdout

2.8 引入依赖

在pom.xml文件下添加下这些依赖即可


    4.0.0

    com.agu
    SSMDemo
    1.0-SNAPSHOT
    war


    
        
        
            org.springframework
            spring-context
            4.3.13.RELEASE
        
        
        
            org.springframework
            spring-webmvc
            4.3.13.RELEASE
        
        
        
            org.springframework
            spring-jdbc
            4.3.13.RELEASE
        
        
        
            org.springframework
            spring-aspects
            4.3.13.RELEASE
        
        
        
            org.mybatis
            mybatis
            3.2.8
        
        
            org.mybatis
            mybatis-spring
            1.2.2
        
        
        
            mysql
            mysql-connector-java
            5.1.32
        
        
        
            org.slf4j
            slf4j-log4j12
            1.7.22
        

        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.0
        
        
        
            com.alibaba
            druid
            1.0.9
        
        
        
            jstl
            jstl
            1.2
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet
            jsp-api
            2.0
        
    

    
        
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                
                    8080
                    /
                
            
        
    

三 测试

测试之前先要添加java文件,创建mysql数据库,以及创建jsp页面

3.1 创建java文件

3.1.1 UserController类

package com.agu.controller;

import java.util.List;
import com.agu.domain.User;
import com.agu.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;

@Controller
@RequestMapping("user")
public class UserController {
	
	@Autowired
	private UserService userService;
	
	@RequestMapping("list")
	public String test1(Model model) {
		List users = userService.findAllUsers();
		model.addAttribute("userList", users);
		return "users";
	}
}

3.1.2 User实体类

package com.agu.domain;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    // 用户名
    private String userName;

    // 密码
    private String password;

    // 姓名
    private String name;

    // 年龄
    private Integer age;

    // 性别,1男性,2女性
    private Integer sex;

    // 出生日期
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    // 创建时间
    private Date created;

    // 更新时间
    private Date updated;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public Date getUpdated() {
        return updated;
    }

    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", name=" + name
                + ", age=" + age + ", sex=" + sex + ", birthday=" + birthday + ", created=" + created
                + ", updated=" + updated + "]";
    }

}

3.1.3 UserService接口 

package com.agu.service;


import com.agu.domain.User;

import java.util.List;

public interface UserService {
	/**
	 * 查询所有用户信息
	 * @return
	 */
	public List findAllUsers();

	
}

3.1.4 UserServiceImpl实现类

package com.agu.service.impl;

import com.agu.domain.User;
import com.agu.mapper.UserMapper;
import com.agu.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {

	@Autowired
	private UserMapper userMapper;

	@Override
	public List findAllUsers() {
		List list = userMapper.findAllUsers();
		return list;
	}

}

3.1.5 UserMapper类

package com.agu.mapper;

import java.util.List;

import com.agu.domain.User;

public interface UserMapper {
	
	public List findAllUsers();

}

3.2 创建MySql数据库表

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50527
Source Host           : localhost:3306
Source Database       : mybatis

Target Server Type    : MYSQL
Target Server Version : 50527
File Encoding         : 65001

Date: 2018-07-17 16:28:28
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for tb_user
-- ----------------------------
DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(100) DEFAULT NULL COMMENT '用户名',
  `password` varchar(100) DEFAULT NULL COMMENT '密码',
  `name` varchar(100) DEFAULT NULL COMMENT '姓名',
  `age` int(10) DEFAULT NULL COMMENT '年龄',
  `sex` tinyint(1) DEFAULT NULL COMMENT '性别,1男性,2女性',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `created` datetime DEFAULT NULL COMMENT '创建时间',
  `updated` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`user_name`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_user
-- ----------------------------
INSERT INTO `tb_user` VALUES ('1', 'zhangsan', '123456', '张三', '30', '1', '1984-08-08', '2014-09-19 16:56:04', '2014-09-21 11:24:59');
INSERT INTO `tb_user` VALUES ('2', 'lisi', '123456', '李四', '21', '2', '1991-01-01', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
INSERT INTO `tb_user` VALUES ('3', 'wangwu', '123456', '王五', '22', '2', '1989-01-01', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
INSERT INTO `tb_user` VALUES ('4', 'zhangwei', '123456', '张伟', '20', '1', '1988-09-01', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
INSERT INTO `tb_user` VALUES ('5', 'lina', '123456', '李娜', '28', '1', '1985-01-01', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
INSERT INTO `tb_user` VALUES ('6', 'lilei', '123456', '李磊', '23', '1', '1988-08-08', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
INSERT INTO `tb_user` VALUES ('8', 'xiaofeng', '123456', '萧峰', '30', '1', '2018-06-25', '2018-06-25 18:42:25', '2018-06-25 18:42:25');
INSERT INTO `tb_user` VALUES ('12', 'zhendeshuai', '565656', '吴彦祖', '26', '1', '2018-06-26', '2018-06-26 14:55:59', '2018-06-26 15:12:12');
INSERT INTO `tb_user` VALUES ('14', 'jiumozhi', '123456', '鸠摩智', '30', '1', '2018-06-26', '2018-06-26 23:53:15', '2018-06-26 23:53:15');
INSERT INTO `tb_user` VALUES ('21', 'zhangsan1234', '12345', '杰克', '20', '1', '2000-01-01', '2018-07-07 21:50:26', '2018-07-07 21:50:26');
INSERT INTO `tb_user` VALUES ('22', 'zhangsanqwe1', '123455', '张三', '30', '1', '1999-02-25', '2018-07-07 21:51:20', '2018-07-07 21:51:20');

3.3 创建users.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>



    
    Insert title here
    



        
编号 用户名 姓名 年龄 性别 出生日期 创建时间 更新时间
${user.id} ${user.userName} ${user.name} ${user.age}

3.4 结果

上面文件配置好了之后,可以直接用tomcat服务器启动,启动后的结果如下:

SMM框架 基础简单的SSM搭建过程_第2张图片

 四 源码下载地址

百度网盘:https://pan.baidu.com/s/133xngfk83-SDb6tzDJGujw

密码:uref

如果觉得文章不错,还请帮忙点下"赞",各位的支持,能鼓励我更大的写作热情。谢谢!

SMM框架 基础简单的SSM搭建过程_第3张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我用的是IDEA开发工具,每个工具的配置

你可能感兴趣的:(Spring,MyBatis,SpringMVC,Maven)