目录
Springboot概述
1,SpringBoot框架主要简化新Spring应用的初始搭建以及开发过程。传统的spring项目中需要用到大量的xml配置,SpringBoot则可以省去大多配置,简化开发环境搭建工作。
2,Spring Boot是一个整合Spring各项功能的中间件,用于快速的开发Spring应用,能够通过导入依赖并且做一些简易的配置即可完成框架的整合。
搭建Springboot
1,建一个Springboot程序,先搭建一个框架,并且将properties文件后缀名改写为yml,本次创建Student实体为样例
2,新建一个student数据库,再新建一个Student表,主键自增,如图所示(整合mybatis和mybatis-plus框架需用到)
3,编写yml文件,用户名和密码一定要填写自己的
一,Springboot整合Junit
1,导入Junit所需依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
2,编写service下的接口StudentService
3,编写service下的StudentServiceImpl实现类
4,创建测试用例,跑一下测试,注解记得加上
整合Junit总结:
1,导入依赖
2,编写service类和实现类
3,添加注解@SpringBootTest、@Test注解
4,使用自动装配进行方法测试
二,Springboot整合Mybatis
1,导入Mybatis相关依赖,lombok依赖可添加注解@Data自动实现构造方法,一并添加
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2,创建一个学生实体并使用@Data注解生成构造函数并重写常用方法
3,编写mapper下的文件,新建接口
package com.itxu.mapper;
import com.itxu.entity.Student;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface StudentMapper {
@Select("select * from student")
public List<User> getAll();
}
4,测试类中进行测试
package com.itxu;
import com.itxu.entity.Student;
import com.itxu.mapper.StudentMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.awt.print.Book;
import java.util.List;
@SpringBootTest
public class HelloServiceTest {
@Autowired
private StudentMapper studentMapper;
@Test
public void testGetById() {
List<Student> student = studentMapper.getAll();
System.out.println(student);
}
}
5,运行图
整合Mybatis总结:
1,导入依赖
2,新建实体,需与数据库字段以及类型一致
3,Mapper层创建接口
4,到测试类装配mapper调用方法进行测试
三,Springboot整合Mybatis-plus
1,导入Mybatis-plus依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
2,创建一个学生实体并使用@Data注解生成构造函数并重写常用方法,id自增
package com.itxu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class Student {
@TableId(value = "id",type = IdType.AUTO)
private String id;
private String name;
private int age;
private String sex;
}
3,Mapper层继承BaseMapper<Student>接口,额外添加一个查询所有的方法(也可不写)
package com.itxu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.itxu.entity.Student;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface StudentMapper extends BaseMapper<Student> {
@Select("select * from student")
List<Student> getAllUsers();
}
4,Service层继承IService<Student>
5,service的实现类继承ServiceImpl<StudentMapper,Student> 并实现StudentService接口
6,在controller包下编写发往前端的语句,使用postman进行测试
package com.itxu.controller;
import com.itxu.entity.Student;
import com.itxu.mapper.StudentMapper;
import com.itxu.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/students")
public class StudentController {
@Autowired
private StudentService studentService;
@Autowired
private StudentMapper studentMapper;
//返回所有学生
@GetMapping("/allStudent")
public List<Student> findAllStudent(){
return studentMapper.getAllUsers();
}
//根据学号查询学生
@GetMapping("/findById/{id}")
public Student findBySno(@PathVariable("id") Integer id){
return studentService.getById(id);
}
//根据学号删除学生信息
@DeleteMapping("/deleteById/{id}")
public boolean deleteBySno(@PathVariable("id") Integer id){
return studentService.removeById(id);
}
//增加一个学生信息,学号自增
@PostMapping("/add")
public boolean add(@RequestBody Student Student){
return studentService.save(Student);
}
//根据学号修改学生信息,学号自增
@PutMapping("/update")
public boolean update(@RequestBody Student Student){
return studentService.updateById(Student);
}
}
7,发一个查询请求进行测试
整合MyBatis-Plus总结:
1,导入依赖
2,创建实体
3,mapper层继承,service层继承,service层实现类继承和实现
4,controller包下写语句,用于发往postman测试
5,启动项目进行测试,http://localhost:8080/students/findById/2
端口号和地址找到properties.yml文件查看,查不到请检查yml配置
6,其余语句依此进行测试