SpringBoot整合JUnit
-
整合JUnit
名称:@SpringBootTest
类型: 测试类注解
位置:测试类定义上方
作用:设置JUnit加载的SpringBoot启动类
范例:
@SpringBootTest
class Springboot05JUnitApplicationTests {}
@SpringBootTest
class SpringbootDemo01ApplicationTests {
//1.注入要测试的对象
@Autowired
private BookBao bookBao;
@Test
void contextLoads() {
//2. 执行要测试的对象对应的方法
bookBao.save();
}
}
-
总结:
1. 测试类使用@SpringBootTest修饰
3. 使用自动装配的形式添加要测试的对象
-
classes设置SpringBoot启动类
如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是省略classes的设定
@SpringBootTest(classes = SpringbootDemo01Application.class)
class SpringbootDemo01Application {}
SpringBoot整合MyBaits
-
整合前提
核心配置:数据库连接相关信息(连什么?连谁?什么权限)
映射配置:SQL映射(XML/注解@Mapper)
- 在yml配置datasource数据源
#2.配置相关信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
username: root
password: 123456
- 实体类
public class User {
private Integer id;
private String name;
private String age;
private String gender;
private String email;
......
}
- dao(Mapper)接口
import java.util.List;
//对于接口来,可以用配置文件也就是映射文件namespace的配置,也可以用注解进行配置@Mapper
@Mapper
public interface UserDao {
@Select("select * from p_user where id=#{id}")
public User getById(Integer id);
}
- springboot的junit测试
@SpringBootTest
class SpringbootMybatisApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
System.out.println(userDao.getById(1));
}
}
-
总结
1. 勾选MyBatis技术,也就是导入MyBatis对应的starter,
或者手动导入坐标mybatis-spring-boot-starter。
2. 数据库连接相关信息转换成配置。
3. 数据库SQL映射需要添加@Mapper注解被容器识别到。
Springboot整合MyBatisPlus
-
MyBatis-Plus与MyBatis区别
① 导入坐标依赖不同 (mybatis-plus-boot-starter) 。
② 数据层实现简化。
- yml文件
# 解决实体类和数据表的映射问题 ,所有表名为p_的进行识别
# 或者在实体类使用注解@Tablename("表名")
mybatis-plus:
global-config:
db-config:
table-prefix: p_
- 测试
//实体类
@TableName("p_user")
public class User {
private Integer id;
private String name;
private String age;
private String gender;
private String email;
......
}
//dao层
@Mapper
public interface UserDao extends BaseMapper<User> {
}
//测试
@SpringBootTest
class SpringbootMybatisPlusApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
System.out.println(userDao.selectById(1));
}
}
-
总结
1. 手动添加MyBatis-Plus对应的starter。
2. 数据层接口使用BaseMapper简化开发。
3. 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标。
Springboot整合Druid
-
导入Druid对应的starter
-
Druid的配置方式
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
username: root
password: 123456
-
整合第三方技术通用方式
1. 导入对应的starter。
2. 根据提供的配置格式,配置非默认值对应的配置项。