写点什么

基于 SpringBoot 的 SSMP 整合

作者:
  • 2022 年 8 月 25 日
    河南
  • 本文字数:1942 字

    阅读完需:约 6 分钟

基于SpringBoot的SSMP整合

前言

  1. 实体类开发————使用 Lombok 快速制作实体类

  2. Mapper 开发————整合 MyBatisPlus,制作数据层测试

  3. Service 开发————基于 MyBatisPlus 进行增量开发,制作业务层测试类

  4. Controller 开发————基于 Restful 开发,使用 PostMan 测试接口功能

1、创建 SpringBoot 项目


2、创建数据库表


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


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)配置数据库连接信息

server:  port: 10086spring:  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 注解和泛型的指定

  • 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)编写测试类

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

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 提供的

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;@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {}
复制代码

7、Controller 控制层开发

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,发送请求,得到数据与数据一一对应。





总结

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

发布于: 刚刚阅读数: 4
用户头像

关注

在校大三学生一枚 2022.08.02 加入

喜欢学习编程,擅长技术栈JAVA

评论

发布
暂无评论
基于SpringBoot的SSMP整合_SpringBoot 2_斯_InfoQ写作社区