1、整合JUnit
主要的注解:@SpringBootTest(测试类注解)
作用:设置JUnit加载的SpringBoot启动类
@SpringBootTest
class Springboot0101QuickstartApplicationTests {
//1、注入你要测试的对象
@Autowired
private BookDao bookDao;
@Test
void contextLoads() {
//2、执行要测试的对象对应的方法
bookDao.save();
}
}
测试类和引导类的包要匹配,如果包不匹配,则要在@SpringBootTest后指定对应的配置信息
@ContextConfiguration(classes = SpringConfig.class)
总结:
-
导入测试对应的starter
-
测试类使用@SpringBootTest修饰
-
使用自动装配的形式(@Autowired)添加要测试的对象
-
测试类如果存在于引导类所在包或子包中,则无需指定引导类
-
测试类如果不存在于引导类所在的包或子包中,则需要通过classes属性指定引导类
2、整合MyBatis
1)导入对应的starter。创建模块时勾选MyBatis框架和MySQL驱动
2)配置相关信息 ,设置数据源参数
#配置相关信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_crud?serverTimezone=UTC
username: root
password: 123abc
3)定义数据层接口与映射配置,接口上用@Mapper加注解
//@Mapper等同于不用配置相关接口的XML文件,直接在MyBatis自动化注册全部了,剩下只要写sql语句就行
@Mapper
public interface EmpDao {
@Select("select * from tbl_emp where emp_id =#{eId}")
public Emp getById(Integer eId);
}
4)测试类中注入dao接口,测试功能
@Autowired
private EmpDao empDao;
@Test
void contextLoads() {
System.out.println(empDao.getById(3));
}
总结:
-
整合操作需要勾选MyBatis技术,也就是导入MyBatis对应的starter
-
数据库连接相关信息转换成配置
-
数据库SQL映射需要添加@Mapper被容器识别到
-
MySQL 8.X驱动强制要求设置时区
-
修改url,添加serverTimezone设定
-
修改MySQL数据库配置
-
-
驱动类过时,提醒更换为com.mysql.cj.jdbc.Driver
3、整合MyBatis-Plus
1)整合
① 修改Server URL为 https://start.aliyun.com
选择【关系型数据库】,勾选
② 正统做法
1)新建模块,只勾选MySQL驱动
2)上 https://mvnrepository.com/ 搜索mybatis plus,粘贴到pom.xml中
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
并把以下配置删除
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
3)定义数据层接口与映射配置,继承BaseMapper<Emp>,实体类作为泛型传进去
@Mapper
public interface EmpDao extends BaseMapper<Emp> {
}
4)其他同SpringBoot整合MyBatis
总结:
-
手工添加MyBatis-Plus对应的starter
-
数据层接口使用BaseMapper简化开发
-
需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标
4、整合Druid
1)新建模块,勾选
2)导坐标
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
3)变更Druid的配置方式
#druid整合以后专用的配置
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_crud?serverTimezone=UTC
username: root
password: 123abc
总结:
-
整合Druid需要导入Druid对应的starter
-
根据Druid提供的配置方式进行配置
-
整合第三方技术通用方式
-
导入对应的starter
-
根据提供的配置格式,配置非默认值对应的配置项
-