基于SpringBoot的SSMP整合

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文介绍了如何使用Spring Boot结合Lombok、MyBatisPlus等技术快速搭建一个简单的Web应用。从创建项目、数据库表设计到实体类、Mapper、Service、Controller各层的开发,最后通过PostMan测试接口功能,详细记录了每一步的实现过程。

前言

  1. 实体类开发————使用Lombok快速制作实体类
  2. Mapper开发————整合MyBatisPlus,制作数据层测试
  3. Service开发————基于MyBatisPlus进行增量开发,制作业务层测试类
  4. Controller开发————基于Restful开发,使用PostMan测试接口功能

1、创建SpringBoot项目

2、创建数据库表

3、导入所需坐标

xml

代码解读

复制代码

<!--lombok-->
<dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
</dependency>

 <dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus-boot-starter</artifactId>
     <version>3.4.3</version>
</dependency>

<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>1.2.6</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

4、实体层开发

  创建User类,属性与数据表一一对应,用lombok的Data注解简化getset方法,当表名与类名不同时,用@TableName("ssmp") 注解形成映射。

kotlin

代码解读

复制代码

package com.example.ssmp.Entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("ssmp")  //表名
public class User {
    private Integer id;
    private String name;
    private double price;
}

5、Mapper数据层开发

1)导入坐标

导入MyBatisPlus与Druid对应的starter,当然mysql的驱动不能少,在前面导入坐标时,已经导入相对应的坐标。

2)配置数据库连接信息

yaml

代码解读

复制代码

server:
  port: 10086

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
      username: root
      password: root

3)创建UserMapper类

  • 使用MyBatisPlus的标准通用接口BaseMapper加速开发
  • @Mapper注解和泛型的指定

java

  • 代码解读
  • 复制代码
package com.example.ssmp.Mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.ssmp.Entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper   // 声明这是一个Mapper
public interface UserMapper extends BaseMapper<User> {
}

4)编写测试类

typescript

代码解读

复制代码

@SpringBootTest
public class Test {

    @Autowired
    private UserMapper userMapper;

    @Test
    void testGetById(){
        System.out.println(bookDao.userMapper(1));
    }

    @Test
    void testSave(){
        User user = new User();
        user.setName("测试");
        user.setPrice("1888");
        userMapper.insert(user);
    }
    
}

6、Service业务层开发

用MyBatis-Plus实现业务层快速开发

1、创建IUserService接口

接口继承IService接口,mybatisplus提供的,实现了增删改查的方法

java

代码解读

复制代码

package com.example.ssmp.Service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.example.ssmp.Entity.User;



public interface UserService extends IService<User> {    
}

2、创建IUserService实现类

extends ServiceImpl<UserMapper,User> MyBatisPlus提供的

scala

代码解读

复制代码

package com.example.ssmp.Service.Impl;


import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.ssmp.Entity.User;
import com.example.ssmp.Mapper.UserMapper;
import com.example.ssmp.Service.UserService;
import org.springframework.stereotype.Service;



@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
}

7、Controller控制层开发

  • @RestController  Controller控制类专用的注解
  • @CrossOrigin  解决跨域的问题
  • @Autowired   需要将Service接口依赖注入进来
  • @RequestMapping("/") 可以设置访问路径

kotlin

代码解读

复制代码

package com.example.ssmp.Controller;


import com.example.ssmp.Entity.User;
import com.example.ssmp.Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@RestController
@RequestMapping("/user")
public class UserController {

        @Autowired
        private UserService userService;


        @GetMapping
        public List<User> getAll(){
                return userService.list();
        }
}

8、测试

打开Apifox或者Postman,发送请求,得到数据与数据一一对应。


转载来源:https://juejin.cn/post/7133828172730073095

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
前端开发 Java 数据处理
基于SpringBoot的SSMP整合案例
基于SpringBoot的SSMP整合案例
64 0
|
druid Java 关系型数据库
SpringBoot基础知识入门详细介绍&基于SpringBoot的SSMP整合案例(2)
(一)快速上手SpringBoot SpringBoot入门程序开发 SpringBoot是由pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
|
XML Java 应用服务中间件
SpringBoot基础知识入门详细介绍&基于SpringBoot的SSMP整合案例(1)
(一)快速上手SpringBoot SpringBoot入门程序开发 SpringBoot是由pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
|
缓存 JSON 前端开发
【SpringBoot2】SSMP整合综合案例(下)
后端的表现层接口开发完毕,就可以进行前端的开发了。 将前端人员开发的页面保存到lresources目录下的static目录中,建议执行maven的clean生命周期,避免缓存的问题出现。
108 0
【SpringBoot2】SSMP整合综合案例(下)
|
SQL JSON 前端开发
【SpringBoot2】SSMP整合综合案例(中)
除了分页功能,MyBatisPlus还提供有强大的条件查询功能。以往我们写条件查询要自己动态拼写复杂的SQL语句,现在简单了,MyBatisPlus将这些操作都制作成API接口,调用一个又一个的方法就可以实现各种条件的拼装。这里给大家普及一下基本格式,详细的操作还是到MyBatisPlus的课程中查阅吧。
95 0
【SpringBoot2】SSMP整合综合案例(中)
|
SQL 前端开发 druid
【SpringBoot2】SSMP整合综合案例(上)
SpringBoot能够整合的技术太多太多了,下面就通过一个稍微综合一点的案例,将所有知识贯穿起来,同时做一个小功能,体会一下。不过有言在先,这个案例制作的时候,你可能会有这种感觉,说好的SpringBoot整合其他技术的案例,为什么感觉SpringBoot整合其他技术的身影不多呢?因为这东西书写太简单了,简单到瞬间写完,大量的时间做的不是这些整合工作。
195 0
【SpringBoot2】SSMP整合综合案例(上)
|
druid Java 关系型数据库
【SpringBoot2】基于SpringBoot实现SSMP整合
​    重头戏来了,SpringBoot之所以好用,就是它能方便快捷的整合其他技术,本文讲解一些技术的整合方式,通过这本文的学习,感受SpringBoot到底有多酷炫。本文学习如下技术的整合方式 整合JUnit 整合MyBatis 整合MyBatis-Plus 整合Druid
146 0
【SpringBoot2】基于SpringBoot实现SSMP整合
|
SQL JSON 前端开发
第六篇:基于SpringBoot的SSMP整合案例 -- 后端开发篇
第六篇:基于SpringBoot的SSMP整合案例 -- 后端开发篇
212 0
第六篇:基于SpringBoot的SSMP整合案例 -- 后端开发篇
|
druid 前端开发 Java
SpringBoot的SSMP案例(后端开发)
SpringBoot的SSMP案例(后端开发)
|
druid Java 关系型数据库
基于SpringBoot的SSMP整合
SSMP,SpringBoot和MyBatis-Plus的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。
180 0
基于SpringBoot的SSMP整合