首页 > 其他分享 >基于SpringBoot的SSMP整合

基于SpringBoot的SSMP整合

时间:2022-08-20 13:46:06浏览次数:59  
标签:SpringBoot Service ssmp SSMP User 整合 import com example

前言

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

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

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

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;



@Service
public 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的出现大大简化了我们的开发,提升了开发效率,切记过度依赖。。。

标签:SpringBoot,Service,ssmp,SSMP,User,整合,import,com,example
From: https://www.cnblogs.com/xmpy/p/16607587.html

相关文章

  • SpringBoot整合Redis实现常用功能
    SpringBoot整合Redis实现常用功能建议大小伙们,在写业务的时候,提前画好流程图,思路会清晰很多。文末有解决缓存穿透和击穿的通用工具类。1登陆功能我想,登陆功能......
  • IDEA初始化创建SpringBoot项目
    创建SpringBoot打开新建项目配置项目基本需求其中URL改成:start.springboot.io创建完成后等待依赖包下载下载完成之后点击右侧Maven中的Lifecycle-install进行更新......
  • SpringBoot中调用Kafka
    Kafka实战——在SpringBoot中的应用官网文档链接1.pom引用 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spri......
  • SpringBoot集成Swagger
    一、pom.xml中引入如下依赖:<!--swagger2--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</arti......
  • css属性样式整合
    font-size字体大小常用色值:#000黑色;#fff白色;#ccc、#333、#2f2f2f、#666、#ddd灰色;rgb表示法:color:rgb(255,255,255);rgba表示法:color:rgba(255,255,255,0.5)第四位......
  • SpringBoot-常用配置类
    1.WebMvcConfigMVC的配置类需要继承WebMvcConfigurationSupport类,通过重写方法来实现需要的功能。自定义的对象映射器,设置序列化或反序列化时格式转换。例如:解决了MP雪......
  • SpringBoot 整合flyway
    目录【pom.xml】【启动类】【配置属性类】【配置类】【配置文件】【IDEA插件支持】【参考文章】前言:本文章专用于因版本问题导致springboot整合flyway不成功无法自动迁移......
  • SpringBoot简介
    SpringBoot简介回顾什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简......
  • 成功进行数据整合的案例
    目前大多数公司使用了许多ERP系统、CRM系统等七八个系统来推动公司的运行,提高公司的效率。不可置疑,这是十分有效的,但是随着各个系统的独立运行,尤其是不同的系统所使用的数......
  • 关于SpringBoot整合redis使用Lettuce客户端超时问题
    问题起因使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用。原因是:Lettuce自适应拓扑刷新(Adaptiveupdates)与定时拓扑刷新(Peri......