基于SpringBoot的SSMP整合

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: SSMP,SpringBoot和MyBatis-Plus的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。

前言

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

1、创建SpringBoot项目

image-20220820091739499.png

2、创建数据库表

image-20220820092628609.png

3、导入所需坐标

<!--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") 注解形成映射。

packagecom.example.ssmp.Entity;
importcom.baomidou.mybatisplus.annotation.TableName;
importlombok.Data;
@Data@TableName("ssmp")  //表名publicclassUser {
privateIntegerid;
privateStringname;
privatedoubleprice;
}

5、Mapper数据层开发

1)导入坐标

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

2)配置数据库连接信息

server:
port: 10086spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/test?serverTimezone=UTCusername: rootpassword: root

3)创建UserMapper类

  • 使用MyBatisPlus的标准通用接口BaseMapper加速开发
  • @Mapper注解和泛型的指定
packagecom.example.ssmp.Mapper;
importcom.baomidou.mybatisplus.core.mapper.BaseMapper;
importcom.example.ssmp.Entity.User;
importorg.apache.ibatis.annotations.Mapper;
@Mapper// 声明这是一个MapperpublicinterfaceUserMapperextendsBaseMapper<User> {
}

4)编写测试类

@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提供的,实现了增删改查的方法

packagecom.example.ssmp.Service;
importcom.baomidou.mybatisplus.extension.service.IService;
importcom.example.ssmp.Entity.User;
publicinterfaceUserServiceextendsIService<User> {    
}

2、创建IUserService实现类

extends ServiceImpl<UserMapper,User> MyBatisPlus提供的

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控制层开发

packagecom.example.ssmp.Controller;
importcom.example.ssmp.Entity.User;
importcom.example.ssmp.Service.UserService;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.web.bind.annotation.*;
importjava.util.List;
@RestController@RequestMapping("/user")
publicclassUserController {
@AutowiredprivateUserServiceuserService;
@GetMappingpublicList<User>getAll(){
returnuserService.list();
        }
}

8、测试

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

image-20220820102011492.png


总结

  SSMP,SpringBoot和MyBatis-Plus的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。

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