发布时间:2023-05-31 文章分类:WEB开发, 电脑百科 投稿人:王小丽 字号: 默认 | | 超大 打印

1.创建新项目

点击File->New->Project

前后端分离项目-Springboot 【后端框架搭建,SSM】

选择Spring Initializr

前后端分离项目-Springboot 【后端框架搭建,SSM】

填写信息

前后端分离项目-Springboot 【后端框架搭建,SSM】

选择依赖

这里只需要选择Web->Spring Web即可

前后端分离项目-Springboot 【后端框架搭建,SSM】

创建的文件目录如下

前后端分离项目-Springboot 【后端框架搭建,SSM】

2.创建文件目录

前后端分离项目-Springboot 【后端框架搭建,SSM】

修改application为后缀为yml文件

由于默认创建spring-boot项目时,配置文件是application.properties,但是存在无法层叠进行配置,不友好——同一个类型配置无法合并

这里我都需要对DataSource 进行配置,在文件中显示效果是这样的

前后端分离项目-Springboot 【后端框架搭建,SSM】

没有层叠关系

因此,我们修改为application.yml

YAML特点

(1)使用缩进表示层级关系

(2)缩进时不允许使用Tab键,只允许使用空格

(3)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

(4)大小写敏感

同样的设置,但是显示效果却很清晰

前后端分离项目-Springboot 【后端框架搭建,SSM】

3.导入项目依赖

在项目根目录pom.xml->dependency中添加下列依赖

<!--jdbc启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--mysql驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--    mybatis   -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

4.配置mybatis

application.yaml中添加配置

配置数据源

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///数据库名称?useSSL=false&useUnicode=true&characterEncoding=utf8
    username: 数据库用户名
    password: 数据库密码

配置类型映射

这里特地配置驼峰转换——map-underscore-to-camel-case

mybatis:
  mapper-locations: classpath:mappers/*.xml
  type-aliases-package: com.leo.springbootbackend.pojo.do
  configuration:
    map-underscore-to-camel-case: true

5.创建service接口

在service下创建一个UserService接口

前后端分离项目-Springboot 【后端框架搭建,SSM】

创建实体类

service->impl,创建对应的实体类

前后端分离项目-Springboot 【后端框架搭建,SSM】

实现接口

public class UserServiceImpl implements UserService {
}

添加注解

@Service
public class UserServiceImpl implements UserService {
}

6.创建Dao接口

dao层创建接口
前后端分离项目-Springboot 【后端框架搭建,SSM】

添加注解

@Mapper
public interface UserDao {
}

7.创建controller

添加注解@RestController

这里注意要添加的注解是@RestController,而不是简单的@Controller

@RestController = @Controller + @ResponseBody

因为这里我们是需要将数据返回到页面上的,因此需要添加@ResponseBody

为了方便,就直接使用@RestController

@RestController
//@Controller
//@ResponseBody
public class UserController {
}

添加测试方法

@RestController
public class UserController {
    @GetMapping("/login")
    public String index(){
        return "login";
    }
}

现在我们直接访问,或者通过postman等其他方法进行请求。

前后端分离项目-Springboot 【后端框架搭建,SSM】

添加子路径——可选

因为当前我已经知道系统会有很多接口,较复杂,为统一管理,创建两级请求路径

@RestController
@RequestMapping("/user")
public class UserController {
    @GetMapping("/login")
    public String index(){
        return "login";
    }
}

这里我就创建了/user一次路径,也就是说需要请求接口时,需要带上前缀路径才能访问后续

按照原方式请求就报错了

前后端分离项目-Springboot 【后端框架搭建,SSM】

添加/user

前后端分离项目-Springboot 【后端框架搭建,SSM】

8.测试整体系统(测试登录接口)

创建DO实体类

实体类与数据库列名相对应

前后端分离项目-Springboot 【后端框架搭建,SSM】

    private Integer pkUserId;
    private String uNumber;
    private String uName;
    private String uPasswd;

对应的数据库列为

前后端分离项目-Springboot 【后端框架搭建,SSM】

添加构造方法( 无参 + 有参)

实现UserDao

添加获取用户信息的接口

package com.leo.springbootbackend.dao;
import com.leo.springbootbackend.pojo.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface UserDao {
    UserInfo getUserInfo(@Param("userNumber") String userNumber , @Param("passwd") String passwd);
}

添加SQL语句

resources->mappers创建UserMapper.xml文件

<?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="dao层对应包路径">
    <select
            id="getUserInfo"
            resultType="对应实体类路径"
    >
        select
            pk_user_id,
            u_number,
            u_name,
            u_passwd
        from user_info
        where u_number = #{userNumber} and u_passwd = #{passwd}
    </select>
</mapper>

添加UserService接口

UserService接口出定义方法

 Boolean login(String userNumber , String passwd);

前后端分离项目-Springboot 【后端框架搭建,SSM】

实现UserImpl接口

定义属性

使用注解@Mapper将userDAO交给Spring进行管理

    @Autowired
    private UserDao userDao;

实现方法

这里只需要打印查询到的结果即可

@Override
    public Boolean login(String userNumber, String passwd) {
        System.out.println(userDao.getUserInfo(userNumber,passwd));
        return true;
    }

实现UserController逻辑

添加属性——UserService

    @Autowired
    private UserService userService;

实现方法

这里随便传入一个存在的用户即可——仅测试项目是否搭建成功

@PostMapping("/login")
    public String login(){
        userService.login("用户名","密码");
        return "测试成功"
    }

前后端分离项目-Springboot 【后端框架搭建,SSM】

前后端分离项目-Springboot 【后端框架搭建,SSM】