SpringBoot+MyBatis flex实现简单增删改查

一:创建SpringBoot项目

SpringBoot+MyBatis flex实现简单增删改查_第1张图片

SpringBoot+MyBatis flex实现简单增删改查_第2张图片

SpringBoot版本选择2.7.15

SpringBoot+MyBatis flex实现简单增删改查_第3张图片

SpringBoot+MyBatis flex实现简单增删改查_第4张图片

勾选相关的选项,并点击Create

SpringBoot+MyBatis flex实现简单增删改查_第5张图片

项目创建完成

二.pom文件添加相关的依赖


    
        io.springfox
        springfox-boot-starter
        3.0.0
    
    
        com.mybatis-flex
        mybatis-flex-spring-boot-starter
        1.6.4
    
    
        com.zaxxer
        HikariCP
     

添加之后并且刷新依赖 

然后在mysql的依赖处加入版本号(8.0.33),并刷新依赖

SpringBoot+MyBatis flex实现简单增删改查_第6张图片

不加的话在运行过程中可能会报错

将Springboot的版本更改为2.5.0,并刷新依赖

SpringBoot+MyBatis flex实现简单增删改查_第7张图片

三.创建实体类entity(student)

实体类的属性有: id   name   gender  garde  score

package com.example.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table("student")
public class Student {
    @Id(keyType=KeyType.Auto)
    private long id;
    private String name;
    private String gender;
    private String grade;
    private int score;
}

注意:

1. 加入相关的注解

2.主键要自增

3.@Id(keyType = KeyType.Auto)书写的时候需要注意第一个k是小写的,第二个k是大写

4. @Table("student")中的student即为我们创建的数据表的表名

四.创建数据表(student)

SpringBoot+MyBatis flex实现简单增删改查_第8张图片

创建表之后,并加入了 一条学生信息进去

五.创建mapper接口文件

SpringBoot+MyBatis flex实现简单增删改查_第9张图片

SpringBoot+MyBatis flex实现简单增删改查_第10张图片

启动类函数添加扫描注解(@MapperScan(""))

SpringBoot+MyBatis flex实现简单增删改查_第11张图片

其中com.example.mapper为mapper包文件所在的路径4

六.创建sevice层

SpringBoot+MyBatis flex实现简单增删改查_第12张图片

七.创建实现类

SpringBoot+MyBatis flex实现简单增删改查_第13张图片

package com.example.service.Impl;

import com.example.entity.Student;
import com.example.mapper.StudentMapper;
import com.example.service.IStudentService;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class IStudentServiceImpl extends ServiceImpl implements IStudentService {

  @Autowired
    private StudentMapper studentMapper;
}

注意

添加@Service注解 

八.创建控制类(StudentController)

SpringBoot+MyBatis flex实现简单增删改查_第14张图片

package com.example.controller;


import com.example.service.IStudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/student")
public class StudentController {
    @Autowired
    private IStudentService studentService; 
}

注意:

添加RestController和RequestMapping两个注解

九.写封装返回实体类

SpringBoot+MyBatis flex实现简单增删改查_第15张图片

package com.example.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class RespBean {
    private long code;
    private String message;
    private Object object;

    public RespBean success(String message){
        return new RespBean(200,message,null);
    }
    public RespBean success(String message,Object object){
        return new RespBean(200,message,object);
    }
    public RespBean error(String message){
        return new RespBean(500,message,null);
    }
    public RespBean error(String message,Object object){
        return new RespBean(500,message,object);
    }
}

 注意:

添加注解@Data @AllArgsConstructor @NoArgsConstructor

十.配置数据库文件及端口

SpringBoot+MyBatis flex实现简单增删改查_第16张图片

端口如果不配,则默认为8080

十一. 增删改查

一.查询(select)

步骤一:

在控制类(studentController)中写调用sevice层的接口的方法

方法名(selectAllStudents)   方法名可自行定义

SpringBoot+MyBatis flex实现简单增删改查_第17张图片

@GetMapping("/selectAllStudents")
public List selectAllStudents(Student student){
    return studentService.selectAllStudents(student);
}

注意:

注解:

@GetMapping("/selectAllStudents")

步骤二:

在service里写selectAllStudents 方法

SpringBoot+MyBatis flex实现简单增删改查_第18张图片

List selectAllStudents(Student student);

步骤三:

在实现类(IStudentServiceImpl)写实现该方法 

SpringBoot+MyBatis flex实现简单增删改查_第19张图片

@Override
  public List selectAllStudents(Student student) {
    return studentMapper.selectAll();
  }
}

调试

SpringBoot+MyBatis flex实现简单增删改查_第20张图片

访问地址:http://localhost:8084/swagger-ui/index.html#/

SpringBoot+MyBatis flex实现简单增删改查_第21张图片

二.增加

步骤一:

在控制类(studentController)中写调用sevice层的接口的方法

方法名(addStudents)  

SpringBoot+MyBatis flex实现简单增删改查_第22张图片

@PostMapping("addStudents")
public RespBean addStudents(Student student ){
    return studentService.addStudents(student);
}

注意:

注解:

@GetMapping("/selectAllStudents")

步骤二:

在service里写addStudents 方法

SpringBoot+MyBatis flex实现简单增删改查_第23张图片

RespBean addStudents(Student student);

步骤三:

 在实现类(IStudentServiceImpl)写实现该方法 

SpringBoot+MyBatis flex实现简单增删改查_第24张图片

  @Override
  public RespBean addStudents(Student student){
       studentMapper.insert(student);
       long id =student.getId();
       Student result=studentMapper.selectOneById(id);
       return RespBean.success("添加成功"+result);
  }
}

调试

SpringBoot+MyBatis flex实现简单增删改查_第25张图片

 SpringBoot+MyBatis flex实现简单增删改查_第26张图片

点击Try it out 并根据属性输入数据

id可以不用输入

SpringBoot+MyBatis flex实现简单增删改查_第27张图片

 然后去数据库student表查看

SpringBoot+MyBatis flex实现简单增删改查_第28张图片

三.删除(delete)

删除的话我们可以根据id删除,可以根据name删除

A.根据id删除

步骤一:

在控制类(studentController)中写调用sevice层的接口的方法

方法名: deleteStudentById

SpringBoot+MyBatis flex实现简单增删改查_第29张图片

@DeleteMapping("/deleteStudentById")
public RespBean deleteStudentById(int id){
    return studentService.deleteStudentById(id);
}

注意: 

注解:

@DeleteMapping("/deleteStudentById")

步骤二: 

在service里写deleteStudentById 方法

SpringBoot+MyBatis flex实现简单增删改查_第30张图片

RespBean deleteStudentById(int id);

 步骤三:

 在实现类(IStudentServiceImpl)写实现该方法 

SpringBoot+MyBatis flex实现简单增删改查_第31张图片

@Override
  public RespBean deleteStudentById(int id){
      QueryWrapper queryWrapper=QueryWrapper.create()
              .select()
              .from("student")
              .where(STUDENT.ID.eq(id));
      Student student=studentMapper.selectOneByQuery(queryWrapper);
      String username=student.getName();
      studentMapper.deleteById(id);
      return RespBean.success(username+"删除成功!");

  }
}

调试一:

 SpringBoot+MyBatis flex实现简单增删改查_第32张图片

SpringBoot+MyBatis flex实现简单增删改查_第33张图片

SpringBoot+MyBatis flex实现简单增删改查_第34张图片

当然如果我们删除的这个学生他不存在

在实现类添加if语句

例如:

SpringBoot+MyBatis flex实现简单增删改查_第35张图片

调试二:

SpringBoot+MyBatis flex实现简单增删改查_第36张图片

SpringBoot+MyBatis flex实现简单增删改查_第37张图片

SpringBoot+MyBatis flex实现简单增删改查_第38张图片

B.根据name删除

步骤一:

在控制类(studentController)中写调用sevice层的接口的方法

方法名: deleteStudentByName

SpringBoot+MyBatis flex实现简单增删改查_第39张图片

@DeleteMapping("/ deleteStudentByName")
public RespBean  deleteStudentByName(String name){
    return studentService. deleteStudentByName(name);
}

步骤二: 

在service里写deleteStudentByIName 方法

SpringBoot+MyBatis flex实现简单增删改查_第40张图片

步骤三:

 在实现类(IStudentServiceImpl)写实现该方法 

SpringBoot+MyBatis flex实现简单增删改查_第41张图片

public RespBean  deleteStudentByName(String name){
  QueryWrapper queryWrapper= QueryWrapper.create()
          .select()
          .from("student")
          .where(STUDENT.NAME.eq(name));
  Student student=studentMapper.selectOneByQuery(queryWrapper);
  if(student==null) {
      return RespBean.error("该学生不存在!");
  }
      String username=student.getName();
      studentMapper.deleteByQuery(queryWrapper);
      return RespBean.success(username+"删除成功");
  }

调试

SpringBoot+MyBatis flex实现简单增删改查_第42张图片

 SpringBoot+MyBatis flex实现简单增删改查_第43张图片

SpringBoot+MyBatis flex实现简单增删改查_第44张图片

此时student表的学生已经被我删除完了

SpringBoot+MyBatis flex实现简单增删改查_第45张图片

SpringBoot+MyBatis flex实现简单增删改查_第46张图片

四.更改(update)

 步骤一:

在控制类(studentController)中写调用sevice层的接口的方法

方法名: updateStudents

SpringBoot+MyBatis flex实现简单增删改查_第47张图片

@PostMapping("/updateStudents")
public RespBean updateStudents(Student student){
    return studentService.updateStudents(student);
}

注意 :

注解:

@PostMapping("/updateMapping")

步骤二: 

在service里写updateStudents 方法

SpringBoot+MyBatis flex实现简单增删改查_第48张图片

RespBean updateStudents(Student student);

步骤三:

 在实现类(IStudentServiceImpl)写实现该方法 

SpringBoot+MyBatis flex实现简单增删改查_第49张图片

@Override
public RespBean updateStudents(Student student){
  QueryWrapper queryWrapper=QueryWrapper.create()
          .select()
          .from("student")
          .where(STUDENT.ID.eq(student.getId()));
    studentMapper.update(student);
  return RespBean.success("修改成功");
}

 调试

SpringBoot+MyBatis flex实现简单增删改查_第50张图片

SpringBoot+MyBatis flex实现简单增删改查_第51张图片

假如我们把年级更改为高三,分数改为100

SpringBoot+MyBatis flex实现简单增删改查_第52张图片

注意:

这里的id是必填选项,且id=?为你想要更改的对象,其他填选项为你想要更改的内容

SpringBoot+MyBatis flex实现简单增删改查_第53张图片

我们再去查询该表

SpringBoot+MyBatis flex实现简单增删改查_第54张图片

SpringBoot+MyBatis flex实现简单增删改查_第55张图片

你可能感兴趣的:(SpringBoot,spring,boot,mybatis,java)