mybatis-flex/docs/zh/mybatis-flex-with-spring.md
2023-04-14 11:02:26 +08:00

55 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Mybatis-Flex 和 Spring 整合
最近,看到群里有许多用户,用 MyBatis-Flex 整合 Spring 的时候遇到了一些问题,这个文档再补充说明一下。
在开始使用 Mybatis-Flex 之前,可以先看一下 MyBatis-Flex-Samples 示例,网址为:
[https://gitee.com/mybatis-flex/mybatis-flex-samples](https://gitee.com/mybatis-flex/mybatis-flex-samples)。
## 常见问题
**问题1 使用 Druid 数据源无法启动**
原因是在数据源的配置中,未添加 `type` 字段的配置:
```yaml 3
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://127.0.0.1:3306/dbtest
username: root
password: 123456
```
第 3 行中的 `type` 字段不能为空,这个并非是 MyBaits-Flex 的问题,而是 Spring 没有内置对 Druid 数据源类型
的主动发现机制。若使用 `hikariCP` 数据源,则可以不配置 `type` 内容。
> 若使用多数据源,或者把数据源配置到 `mybatis-flex.datasource` 下,使用 mybatis-flex 的数据源发现机制,
> 使用 druid 也可以不用配置 type更多文档参考[多数据源章节](./multi-datasource.md)。
**问题2整合 Springboot 3 出现 ClassNotFoundException NestedIOException 的错误**
需要排除 flex 中的 mybatis-spring 的依赖,主动添加最新版本的 mybatis-spring 依赖。
```xml 6,7,8,9
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>${mybatis-flex.version}</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加已适配 springboot 3 的 mybatis-spring 依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.1</version>
</dependency>
```