基于SpringBoot的SSMP整合

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
druid Java 关系型数据库
SpringBoot基础知识入门详细介绍&基于SpringBoot的SSMP整合案例(2)
(一)快速上手SpringBoot SpringBoot入门程序开发 SpringBoot是由pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
|
10月前
|
XML Java 应用服务中间件
SpringBoot基础知识入门详细介绍&基于SpringBoot的SSMP整合案例(1)
(一)快速上手SpringBoot SpringBoot入门程序开发 SpringBoot是由pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
|
druid Java 关系型数据库
【SpringBoot2】基于SpringBoot实现SSMP整合
​    重头戏来了,SpringBoot之所以好用,就是它能方便快捷的整合其他技术,本文讲解一些技术的整合方式,通过这本文的学习,感受SpringBoot到底有多酷炫。本文学习如下技术的整合方式 整合JUnit 整合MyBatis 整合MyBatis-Plus 整合Druid
105 0
【SpringBoot2】基于SpringBoot实现SSMP整合
|
SQL JSON 前端开发
第六篇:基于SpringBoot的SSMP整合案例 -- 后端开发篇
第六篇:基于SpringBoot的SSMP整合案例 -- 后端开发篇
178 0
第六篇:基于SpringBoot的SSMP整合案例 -- 后端开发篇
|
druid 前端开发 Java
SpringBoot的SSMP案例(后端开发)
SpringBoot的SSMP案例(后端开发)
SpringBoot的SSMP案例(后端开发)
|
SQL 前端开发 JavaScript
[SpringBoot系列]SSMP整合小项目
本项目所用技术栈,后端:SpringBoot、SpringMVC、MyBatisPlus、Lombok。前端:VUE+ElementUI
[SpringBoot系列]SSMP整合小项目
|
9天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
17天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
64 2
|
17天前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
29 0
|
29天前
|
前端开发 Java 关系型数据库
SpringBoot+MyBatis 天猫商城项目
SpringBoot+MyBatis 天猫商城项目
51 1