基于SpringBoot的SSMP整合

野性酷女 2024-04-08 10:25 134阅读 0赞

作者:大三的土狗

专栏:SpringBoot入门到精通
专栏:MyBatis-Plus在这里插入图片描述

快速导航

  • 前言
    • 1、创建SpringBoot项目
    • 2、创建数据库表
    • 3、导入所需坐标
    • 4、实体层开发
    • 5、Mapper数据层开发
        • 1)导入坐标
        • 2)配置数据库连接信息
        • 3)创建UserMapper类
        • 4)编写测试类
    • 6、Service业务层开发
        • 1、创建IUserService接口
        • 2、创建IUserService实现类
    • 7、Controller控制层开发
    • 8、测试
  • 总结

前言

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

1、创建SpringBoot项目

在这里插入图片描述

2、创建数据库表

在这里插入图片描述

3、导入所需坐标

  1. <!--lombok-->
  2. <dependency>
  3. <groupId>org.projectlombok</groupId>
  4. <artifactId>lombok</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.baomidou</groupId>
  8. <artifactId>mybatis-plus-boot-starter</artifactId>
  9. <version>3.4.3</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.alibaba</groupId>
  13. <artifactId>druid-spring-boot-starter</artifactId>
  14. <version>1.2.6</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>mysql</groupId>
  18. <artifactId>mysql-connector-java</artifactId>
  19. <scope>runtime</scope>
  20. </dependency>

4、实体层开发

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

  1. package com.example.ssmp.Entity;
  2. import com.baomidou.mybatisplus.annotation.TableName;
  3. import lombok.Data;
  4. @Data
  5. @TableName("ssmp") //表名
  6. public class User {
  7. private Integer id;
  8. private String name;
  9. private double price;
  10. }

5、Mapper数据层开发

1)导入坐标

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

2)配置数据库连接信息
  1. server:
  2. port: 10086
  3. spring:
  4. datasource:
  5. druid:
  6. driver-class-name: com.mysql.cj.jdbc.Driver
  7. url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
  8. username: root
  9. password: root
3)创建UserMapper类
  • 使用MyBatisPlus的标准通用接口BaseMapper加速开发
  • @Mapper注解和泛型的指定
  • package com.example.ssmp.Mapper;
  1. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  2. import com.example.ssmp.Entity.User;
  3. import org.apache.ibatis.annotations.Mapper;
  4. @Mapper // 声明这是一个Mapper
  5. public interface UserMapper extends BaseMapper<User> {
  6. }
4)编写测试类
  1. @SpringBootTest
  2. public class Test {
  3. @Autowired
  4. private UserMapper userMapper;
  5. @Test
  6. void testGetById(){
  7. System.out.println(bookDao.userMapper(1));
  8. }
  9. @Test
  10. void testSave(){
  11. User user = new User();
  12. user.setName("测试");
  13. user.setPrice("1888");
  14. userMapper.insert(user);
  15. }
  16. }

6、Service业务层开发

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

1、创建IUserService接口

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

  1. package com.example.ssmp.Service;
  2. import com.baomidou.mybatisplus.extension.service.IService;
  3. import com.example.ssmp.Entity.User;
  4. public interface UserService extends IService<User> {
  5. }
2、创建IUserService实现类

extends ServiceImpl MyBatisPlus提供的

  1. package com.example.ssmp.Service.Impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.example.ssmp.Entity.User;
  4. import com.example.ssmp.Mapper.UserMapper;
  5. import com.example.ssmp.Service.UserService;
  6. import org.springframework.stereotype.Service;
  7. @Service
  8. public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
  9. }

7、Controller控制层开发

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

    package com.example.ssmp.Controller;

  1. import com.example.ssmp.Entity.User;
  2. import com.example.ssmp.Service.UserService;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.*;
  5. import java.util.List;
  6. @RestController
  7. @RequestMapping("/user")
  8. public class UserController {
  9. @Autowired
  10. private UserService userService;
  11. @GetMapping
  12. public List<User> getAll(){
  13. return userService.list();
  14. }
  15. }

8、测试

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

在这里插入图片描述


总结

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

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读