SpringBoot整合SSMP
本文最后更新于:1 年前
整合任意第三方技术步骤:
- 导入对应的starter
- 配置对应的设置或采用默认配置
整合Junit
1 |
|
步骤总结:
- 导入测试对应的starter;
- 测试类使用@SpringBootTest修饰:
- 测试类如果存在于引导类所在包或子包中无需指定引导类
- 测试类如果不存在于引导类所在的包或子包中需要通过classes属性指定引导类
- 使用自动装配的形式添加要测试的对象。
整合Mybatis
整合操作需要勾选MyBatis技术,也就是导入MyBatis对应的starter;
数据库连接相关信息转换成配置;
数据库SQL映射需要添加@Mapper被容器识别到;
MySQL 8.X驱动报错解决方法
要求设置时区
- 修改url,添加serverTimezone设定
- 修改MySQL数据库配置
驱动类更新提醒
- 更换为 com.mysql.cj.jdbc.Driver
整合MyBatis-Plus
手动添加SpringBoot整合MyBatis-Plus的坐标,可以通过mvnrepository获取。由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要自己添加指定对应的Version。
1
2
3
4
5<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>这个坐标的名字书写比较特殊,是第三方技术名称在前,boot和starter在后。此处简单提一下命名规范,后期原理篇会再详细讲解:
starter所属 命名规则 示例 官方提供 spring-boot-starter-技术名称 spring-boot-starter-web
spring-boot-starter-test第三方提供 第三方技术名称-spring-boot-starter druid-spring-boot-starter 第三方提供 第三方技术名称-boot-starter(第三方技术名称过长,简化命名) mybatis-plus-boot-starter 配置数据源相关信息
1
2
3
4
5
6spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db
username: root
password: root定义数据层接口与映射配置,继承BaseMapper
1
2
3@Mapper
public interface BookDao extends BaseMapper<Book> {
}核心在于Dao接口继承了一个BaseMapper的接口,这个接口中帮助开发者预定了若干个常用的API接口,简化了通用API接口的开发工作。
设置Mp相关配置
目前数据库的表名定义规则是『tbl_模块名称』,为了能和实体类相对应,需要做一个配置(相关知识见MyBatisPlus课程)。配置application.yml文件,添加如下配置设置所有表名的通用前缀名:
1
2
3
4mybatis-plus:
global-config:
db-config:
table-prefix: tbl_ #设置所有表的通用前缀名称为tbl_运行测试
1
2
3
4
5
6
7
8
9
10
11
12
13@SpringBootTest
class Springboot0101QuickstartApplicationTests {
@Autowired
private BookDao bookDao;
@Test
void contextLoads() {
System.out.println(bookDao.selectById(2));
System.out.println(bookDao.selectList(null));
}
}
整合Druid
前面整合MyBatis和MP的时候,使用的数据源对象都是SpringBoot默认的数据源对象HiKari,我们也可以自己指定数据源对象——Druid。
导入对应的坐标(注意,是坐标,此处不是starter)
1
2
3
4
5
6
7<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
</dependencies>修改配置
方法一
在数据源配置中有一个type属性,专用于指定数据源类型:
1
2
3
4
5
6
7spring:
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方法二(推荐)
使用Druid专用配置。
导入对应的starter
1
2
3
4
5
6
7<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
</dependencies>修改配置
1
2
3
4
5
6
7spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
username: root
password: root注意观察,配置项中,在datasource下面并不是直接配置url这些属性的,而是先配置了一个druid节点,然后再配置的url这些东西。也就是说,url这些属性时druid下面的属性。除了这4个常规配置外,还有druid专用的其他配置。通过提示功能可以打开druid相关的配置查阅:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!