This commit is contained in:
noear 2024-12-30 10:35:59 +08:00
commit 9ff17cb494
29 changed files with 92 additions and 59 deletions

View File

@ -7,7 +7,7 @@ body:
attributes:
label: 这个 Bug 是否已经存在:
options:
- label: 我确定已经把 MyBatis-Flex 升级到最新版本 v1.10.3,并已搜索过现有的问题 (https://gitee.com/mybatis-flex/mybatis-flex/issues)
- label: 我确定已经把 MyBatis-Flex 升级到最新版本 v1.10.4,并已搜索过现有的问题 (https://gitee.com/mybatis-flex/mybatis-flex/issues)
required: true
- type: textarea
attributes:

View File

@ -13,7 +13,7 @@ body:
attributes:
label: 这个问题是否已经存在:
options:
- label: 我确定已经把 MyBatis-Flex 升级到最新版本 v1.10.3,并已搜索过现有的问题 (https://gitee.com/mybatis-flex/mybatis-flex/issues)
- label: 我确定已经把 MyBatis-Flex 升级到最新版本 v1.10.4,并已搜索过现有的问题 (https://gitee.com/mybatis-flex/mybatis-flex/issues)
required: true
- type: textarea
id: question-description

View File

@ -2,6 +2,13 @@
查看 [全部代码贡献者](/zh/intro/what-is-mybatisflex.html#贡献者)。
## v1.10.4 20241228
- 修复:多 MybatisFlexBootstrap 实例时,`MybatisFlexBootstrap.getMapper(Class<T> mapperClass)` 方法只能获取最后的实例的 mapper 的问题,感谢 @wcc1433
- 修复:多 MybatisFlexBootstrap 实例时,`FlexGlobalConfig.getConfig(environmentId)` 获取的 config 永远是 defaultConfig感谢 @wcc1433
- 优化:进一步优化 mybatis-flex-solon-plugin 插件,感谢 @noear_admin
## v1.10.3 20241220
- 新增添加了duckdb 数据库支持,感谢 @PTmore
- 优化:优化 mybatis-flex-solon-plugin 插件,感谢 @noear_admin

View File

@ -2,6 +2,13 @@
查看 [全部代码贡献者](/zh/intro/what-is-mybatisflex.html#贡献者)。
## v1.10.4 20241228
- 修复:多 MybatisFlexBootstrap 实例时,`MybatisFlexBootstrap.getMapper(Class<T> mapperClass)` 方法只能获取最后的实例的 mapper 的问题,感谢 @wcc1433
- 修复:多 MybatisFlexBootstrap 实例时,`FlexGlobalConfig.getConfig(environmentId)` 获取的 config 永远是 defaultConfig感谢 @wcc1433
- 优化:进一步优化 mybatis-flex-solon-plugin 插件,感谢 @noear_admin
## v1.10.3 20241220
- 新增添加了duckdb 数据库支持,感谢 @PTmore
- 优化:优化 mybatis-flex-solon-plugin 插件,感谢 @noear_admin

View File

@ -53,7 +53,7 @@ VALUES (1, '张三', 18, '2020-01-11'),
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
@ -81,7 +81,7 @@ VALUES (1, '张三', 18, '2020-01-11'),
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot3-starter</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>

View File

@ -10,7 +10,7 @@
```kotlin
dependencies {
implementation("com.mybatis-flex:mybatis-flex-core:1.10.3")
implementation("com.mybatis-flex:mybatis-flex-core:1.10.4")
}
```
@ -18,7 +18,7 @@ dependencies {
```groovy
dependencies {
implementation 'com.mybatis-flex:mybatis-flex-core:1.10.3'
implementation 'com.mybatis-flex:mybatis-flex-core:1.10.4'
}
```
@ -28,7 +28,7 @@ dependencies {
```kotlin
dependencies {
implementation("com.mybatis-flex:mybatis-flex-spring:1.10.3")
implementation("com.mybatis-flex:mybatis-flex-spring:1.10.4")
}
```
@ -36,7 +36,7 @@ dependencies {
```groovy
dependencies {
implementation 'com.mybatis-flex:mybatis-flex-spring:1.10.3'
implementation 'com.mybatis-flex:mybatis-flex-spring:1.10.4'
}
```
@ -46,7 +46,7 @@ dependencies {
```kotlin
dependencies {
implementation("com.mybatis-flex:mybatis-flex-spring-boot-starter:1.10.3")
implementation("com.mybatis-flex:mybatis-flex-spring-boot-starter:1.10.4")
}
```
@ -54,7 +54,7 @@ dependencies {
```groovy
dependencies {
implementation 'com.mybatis-flex:mybatis-flex-spring-boot-starter:1.10.3'
implementation 'com.mybatis-flex:mybatis-flex-spring-boot-starter:1.10.4'
}
```
@ -70,7 +70,7 @@ dependencies {
```kotlin
dependencies {
annotationProcessor("com.mybatis-flex:mybatis-flex-processor:1.10.3")
annotationProcessor("com.mybatis-flex:mybatis-flex-processor:1.10.4")
}
```
@ -78,6 +78,6 @@ dependencies {
```groovy
dependencies {
annotationProcessor 'com.mybatis-flex:mybatis-flex-processor:1.10.3'
annotationProcessor 'com.mybatis-flex:mybatis-flex-processor:1.10.4'
}
```

View File

@ -12,12 +12,12 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-core</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<scope>provided</scope>
</dependency>
```
@ -28,12 +28,12 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<scope>provided</scope>
</dependency>
``````
@ -44,12 +44,12 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<scope>provided</scope>
</dependency>
```
@ -60,12 +60,12 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot3-starter</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<scope>provided</scope>
</dependency>
```
@ -88,7 +88,7 @@
<path>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</path>
</annotationProcessorPaths>
</configuration>

View File

@ -248,7 +248,7 @@ pom.xml 添加 `annotationProcessorPaths` 配置,
```
dependencies {
...
annotationProcessor 'com.mybatis-flex:mybatis-flex-processor:1.10.3'
annotationProcessor 'com.mybatis-flex:mybatis-flex-processor:1.10.4'
}
```

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -23,7 +23,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-core</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<exclusions>
<exclusion>
<groupId>com.mybatis-flex</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -101,7 +101,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-annotation</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<scope>compile</scope>
</dependency>

View File

@ -27,7 +27,7 @@ public class FlexConsts {
}
public static final String NAME = "MyBatis-Flex";
public static final String VERSION = "1.10.3";
public static final String VERSION = "1.10.4";
public static final String SQL = "$$sql";

View File

@ -423,7 +423,7 @@ public class FlexGlobalConfig {
defaultConfig.setConfiguration(config.configuration);
}
globalConfigs.put(id, isDefault ? defaultConfig : config);
globalConfigs.put(id, config);
}
}

View File

@ -133,7 +133,7 @@ public class MybatisFlexBootstrap {
* @return mapperObject
*/
public <T> T getMapper(Class<T> mapperClass) {
return Mappers.ofMapperClass(mapperClass);
return Mappers.ofMapperClass(getEnvironmentId(), mapperClass);
}

View File

@ -18,6 +18,7 @@ package com.mybatisflex.core.mybatis;
import com.mybatisflex.core.BaseMapper;
import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.exception.FlexExceptions;
import com.mybatisflex.core.util.StringUtil;
import org.apache.ibatis.reflection.ExceptionUtil;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
@ -84,6 +85,13 @@ public class Mappers {
, new MapperHandler(mapperClass)));
return (M) mapperObject;
}
public static <M> M ofMapperClass(String environmentId, Class<M> mapperClass) {
Object mapperObject = MapUtil.computeIfAbsent(MAPPER_OBJECTS, mapperClass, clazz ->
Proxy.newProxyInstance(mapperClass.getClassLoader()
, new Class[]{mapperClass}
, new MapperHandler(environmentId, mapperClass)));
return (M) mapperObject;
}
private static class MapperHandler implements InvocationHandler {
@ -92,12 +100,24 @@ public class Mappers {
private final SqlSessionFactory sqlSessionFactory;
public MapperHandler(Class<?> mapperClass) {
this(null, mapperClass);
}
public MapperHandler(String environmentId, Class<?> mapperClass) {
this.mapperClass = mapperClass;
this.executorType = FlexGlobalConfig.getDefaultConfig()
.getConfiguration()
.getDefaultExecutorType();
this.sqlSessionFactory = FlexGlobalConfig.getDefaultConfig()
.getSqlSessionFactory();
if(StringUtil.noText(environmentId)) {
this.executorType = FlexGlobalConfig.getDefaultConfig()
.getConfiguration()
.getDefaultExecutorType();
this.sqlSessionFactory = FlexGlobalConfig.getDefaultConfig()
.getSqlSessionFactory();
} else {
this.executorType = FlexGlobalConfig.getConfig(environmentId)
.getConfiguration()
.getDefaultExecutorType();
this.sqlSessionFactory = FlexGlobalConfig.getConfig(environmentId)
.getSqlSessionFactory();
}
}
private SqlSession openSession() {

View File

@ -6,7 +6,7 @@
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-dependencies</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<packaging>pom</packaging>
@ -48,7 +48,7 @@
</developer>
</developers>
<properties>
<mybatis-flex.version>1.10.3</mybatis-flex.version>
<mybatis-flex.version>1.10.4</mybatis-flex.version>
</properties>
<dependencyManagement>

View File

@ -5,13 +5,13 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>mybatis-flex-processor</artifactId>
<packaging>jar</packaging>
<version>1.10.3</version>
<version>1.10.4</version>
<properties>
@ -23,7 +23,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-annotation</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
</dependencies>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -23,7 +23,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>
@ -104,7 +104,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-core</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
</dependencies>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>com.mybatis-flex</groupId>
<artifactId>parent</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<artifactId>mybatis-flex-spring-boot3-starter</artifactId>
@ -19,7 +19,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -22,7 +22,7 @@
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-core</artifactId>
<version>1.10.3</version>
<version>1.10.4</version>
</dependency>
<dependency>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>mybatis-flex-test</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent>
<artifactId>mybatis-flex-test</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,8 +5,7 @@
<parent>
<artifactId>mybatis-flex-test</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<relativePath />
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>mybatis-flex-test</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>mybatis-flex-test</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>mybatis-flex-test</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>com.mybatis-flex</groupId>
<version>1.10.3</version>
<version>1.10.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -19,7 +19,7 @@
<module>mybatis-flex-spring-test</module>
<module>mybatis-flex-spring-boot-test</module>
<module>mybatis-flex-spring-cloud-test</module>
<module>mybatis-flex-solon-test</module>
<!-- <module>mybatis-flex-solon-test</module>-->
</modules>
<properties>

View File

@ -7,7 +7,7 @@
<groupId>com.mybatis-flex</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.10.3</version>
<version>1.10.4</version>
<name>mybatis-flex</name>
<url>https://mybatis-flex.com</url>
@ -63,7 +63,7 @@
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<mybatis-flex.version>1.10.3</mybatis-flex.version>
<mybatis-flex.version>1.10.4</mybatis-flex.version>
<mybatis.version>3.5.17</mybatis.version>
<mybatis-spring.version>2.1.2</mybatis-spring.version>