目录

​一、SpringBoot整合junit​

​环境准备​

​编写测试类​

​二、SpringBoot整合Mybatis​

​创建模块​

​定义实体类​

​定义dao接口​

​定义测试类​

​编写配置​

​最后进行测试​

​三、使用Druid数据源​


一、SpringBoot整合junit

回顾Spring整合junit,使用@Runwith注解指定运行器,使用@ContextConfiguration注解来指定配置类或者配置文件,而SpringBoot整合junit特别简单,分为以下三部完成

● 在测试类上添加SpringBootTest注解

● 使用@Autowired注入到测试的资源

● 定义测试方式进行测试

环境准备

创建一个SpringBoot工程

创建BookService接口,内容如下:

public interface BookService { 
public void save();
}

创建一个BookServiceImpl类,使其实现BookService接口,内如如下

@Service 
public class BookServiceImpl implements BookService {

@Override
public void save() {
System.out.println("book service is running ...");
}
}

编写测试类

将BookService注入到测试类中

@SpringBootTest 
class Springboot07TestApplicationTests {

@Autowired
private BookService bookService;

@Test
public void save() {
bookService.save();
}
}

注意:这里的引导类所在包必须是测试类所在包及其子包

例如:

● 引导类所在包是 com.itheima

● 测试类所在包是 com.itheima

如果不满足这个要求的话,就需要使用@SpringBootTest注解时,使用classes属性指定引导类的字节码对象,如@SpringBootTest(classes = Springboot07TestApplication.class)

二、SpringBoot整合Mybatis

回顾Spring整合Mybatis需要定义很多配置类

SpringConfig配置类(导入JdbcConfig配置类,导入MybatisConfig)

JdbcConfig配置类(定义数据源(加载properties配置项:duiver,url,username,password))

MybatisConfig配置类(定义sqlsessionFactoryBean、定义映射配置)

SpringBoot整合mybatis

创建模块

创建新模块,选择Spring Initializr,并配置模块相关基础信息

SpringBoot整合junit、整合Mybatis及使用Druid数据源_spring boot

选择模块需要的技术集(myBatis、MySQL) 

定义实体类

在damain包中定义实体类Book,内容如下:

public class Book { 
private Integer id;
private String name;
private String type;
private String description;

//setter and getter

//toString
}

定义dao接口

在dao包下定义BookDao接口,使用@Mapper注解将BookDao接口注入到Spring容器中,内容如下

@Mapper 
public interface BookDao {

@Select("select * from tbl_book where id = #{id}")
public Book getById(Integer id);
}

定义测试类

在定义包com.itheima中编写测试类,内容如下:

@SpringBootTest 
class Springboot08MybatisApplicationTests {

@Autowired
private BookDao bookDao;

@Test
void testGetById() {
Book book = bookDao.getById(1);
System.out.println(book);
}
}

编写配置

在SpringBoot配置文件中进行配置,在application.yml配置文件中配置如下内容:

spring: 
datasource:
driver-class-name:
com.mysql.jdbc.Driver url:
jdbc:mysql://localhost:3306/ssm_db
username: root
password: root

最后进行测试

注意:

SpringBoot版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区

jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC,或在MySQL数据库端配置时区解决此问题

三、使用Druid数据源

我们并没有指定数据源,SpringBoot有默认的数据源,我们也可以指定使用Druid数据源,按照如下步骤实现

导入Druid依赖

<dependency> 
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>

在application.yml配置文件配置

可以通过spring.datasource.type来配合着使用什么数据源,配置内容可以改进为:

spring: 
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource