一、整合JUnit
SpringBoot 项目在IDEA 创建工程的时候默认整合了Junit框架
在pom.xml中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
1.1 使用
通过测试类注解的方式声明使用
- 名称: @SpringBootTest
- 类型:测试类注解
- 位置:测试类定义的上方
- 作用:设置JUnit加载的SpringBoot启动类
- 注解参数:@SpringBootTest(classes = xxxx.class)
– 设置SpringBoot的启动类是哪个
– 如果测试类在SprintBoot启动类的包或者子包中,可以省略启动类的设置,也就是忽略classes的设定
示例:
package com.yio.studyspringboot;
import com.yio.studyspringboot.dao.BookDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class StudySpringBootApplicationTests {
@Autowired
private BookDao bookDao;
@Test
void contextLoads() {
System.out.println("test............");
bookDao.save();
}
}
运行结果:
二、整合MyBatis
整合前需要确认一下信息
- 核心配置:数据量连接相关信息(连什么?连谁?什么权限)
- 映射配置:SQL映射(XML/注解)
2.1 在配置文件pom.xml中添加依赖
<!-- 整合mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
<scope>runtime</scope>
</dependency>
2.2 配置数据源
在配置文件application.yml中配置数据源信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/demo
username: root
password: y*****..
2.3 接口映射
定义一个bean实体类是来作为映射对象
package com.yio.studyspringboot.domain;
/**
* @author Yio
*/
public class Book {
private Integer id;
private String username;
private String password;
/**
* 获取
*
* @return id
*/
public Integer getId() {
return id;
}
/**
* 设置
*
* @param id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取
*
* @return username
*/
public String getUsername() {
return username;
}
/**
* 设置
*
* @param username
*/
public void setUsername(String username) {
this.username = username;
}
/**
* 获取
*
* @return password
*/
public String getPassword() {
return password;
}
/**
* 设置
*
* @param password
*/
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Book{id = " + id + ", username = " + username + ", password = " + password + "}";
}
}
在Dao层接口通过@Mapper 进行映射
package com.yio.studyspringboot.dao;
import com.yio.studyspringboot.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author YIo
*/
@Mapper
public interface BookDao1 {
@Select("select * from t_user")
public List<Book> getAll();
}
在测类中直接使用
package com.yio.studyspringboot;
import com.yio.studyspringboot.dao.BookDao1;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class StudySpringBootApplicationTests {
@Autowired
private BookDao1 bookDao1;
@Test
void contextLoads() {
System.out.println(bookDao1.getAll());
}
}
运行结果:
2023-02-20 23:48:11.189 INFO 1669 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2023-02-20 23:48:12.327 INFO 1669 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
[Book{id = 1, username = yio, password = 12345678}]
三、整合MyBatis-Plus
MyBatis-Plus 与 MyBatis区别:
- 导入坐标不同
- 数据层实现简化
3.1 导入坐标依赖
SpringBoot还没有收录,需要去MP官网手动添加坐标
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>
3.2 数据层映射
定义数据层接口与映射配置,继承BaseMapper
在配置文件中加入以下参数
# 设置Mp相关的配置
mybatis-plus:
global-config:
db-config:
table-prefix: t_
在接口中
package com.yio.studyspringboot.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yio.studyspringboot.domain.User;
import org.apache.ibatis.annotations.Mapper;
/**
* @author YIo
* BaseMapper的类型User会与配置文件中的table-prefix进行拼接,就是我们映射的表名称
*/
@Mapper
public interface BookDao1 extends BaseMapper<User> {
}
四、整合Druid 数据连接池
4.1 配置依赖
在pom.xml中需要手动配置坐标依赖
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.13-SNSAPSHOT</version>
</dependency>
4.2 配置参数
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource # 自定义数据源
之前启动上面的测试类测试
运行结果如下