- 作用:设置Junnit加载的SpringBoot启动类
注意:整合的Junit测试类需要和Java包中的配置文件类放在同一目录下,否则需要指定配置java文件的class
@SpringBootTest(classes = Springboot03JunitApplication.class)
class Springboot03JunitApplicationTests {
@Autowired
private BookService bookService;
@Test
void contextLoads() {
bookService.save();
}
}
==============================================================================
创建新模块的时候选择需要的技术集
之后就可以看到mybatis相应的坐标已经导入完成
接着设置数据源
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
定义数据层接口与映射配置
public interface UserDao {
@Select("select * from test.sys_role;")
public List<Role> getAll();
}
测试类中注入dao接口,测试功能
@SpringBootTest
class Springboot04MybatisApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
List<Role> roleList = userDao.getAll();
System.out.println(roleList);
}
}
注意:
- 数据库SQL映射需要添加@Mapper被容器识别到
- 数据库连接相关信息转换成配置
- SpringBoot版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区,或在MySQL数据库端配置时区解决此问题
```
jdbc:mysql://localhost:3306/test?serverTimezone=UTC
```
===================================================================================
Mybatis-Plus与Mybati 区别
- 导入坐标不同
- 数据层实现简化
注意:由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要指定对应的Version
- SpringBoot没有整合Mybatis-Plus,所以需要我们手动添加SpringBoot整合MyBatis-Plus的坐标,可以通过mvnrepository获取
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
- 定义数据层接口与映射配置,继承BaseMapper
@Mapper
public interface UserDao extends BaseMapper {
}
- 在yml配置文件配置数据库前缀
#设置mp相关配置
mybatis-plus:
global-config:
db-config:
table-prefix: sys_
- 测试
@SpringBootTest
class Springboot05MybatisPlusApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
Role role = userDao.selectById(1);
System.out.println(role);
}
}
架构学习资料
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
`
架构学习资料
[外链图片转存中…(img-czwgJdwl-1714464470991)]
[外链图片转存中…(img-7lCvyeLU-1714464470991)]
[外链图片转存中…(img-oGCI5Dqb-1714464470992)]
[外链图片转存中…(img-7TU2VISN-1714464470992)]
[外链图片转存中…(img-AiYnjgSv-1714464470992)]
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!