From b415491a4b4dba33a41125ee9fc288242d42f44f Mon Sep 17 00:00:00 2001 From: noear Date: Sun, 21 May 2023 16:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0RowMapperInvoker=E5=8F=AF?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=EF=BC=9B=E5=A2=9E=E5=8A=A0FlexGlobalConfig?= =?UTF-8?q?=E5=8F=AF=E4=BA=8B=E4=BB=B6=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solon/integration/MybatisAdapterFlex.java | 20 +++++++++++++++++-- pom.xml | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/mybatis-flex-solon-plugin/src/main/java/com/mybatisflex/solon/integration/MybatisAdapterFlex.java b/mybatis-flex-solon-plugin/src/main/java/com/mybatisflex/solon/integration/MybatisAdapterFlex.java index 46c6d8c2..625c1da6 100644 --- a/mybatis-flex-solon-plugin/src/main/java/com/mybatisflex/solon/integration/MybatisAdapterFlex.java +++ b/mybatis-flex-solon-plugin/src/main/java/com/mybatisflex/solon/integration/MybatisAdapterFlex.java @@ -4,13 +4,15 @@ import com.mybatisflex.core.FlexGlobalConfig; import com.mybatisflex.core.datasource.FlexDataSource; import com.mybatisflex.core.mybatis.FlexConfiguration; import com.mybatisflex.core.mybatis.FlexSqlSessionFactoryBuilder; +import com.mybatisflex.core.row.RowMapperInvoker; import org.apache.ibatis.mapping.Environment; import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.solon.integration.MybatisAdapterDefault; import org.noear.solon.Utils; import org.noear.solon.core.BeanWrap; import org.noear.solon.core.Props; import org.noear.solon.core.VarHolder; -import org.apache.ibatis.solon.integration.MybatisAdapterDefault; +import org.noear.solon.core.event.EventBus; import javax.sql.DataSource; @@ -84,6 +86,9 @@ public class MybatisAdapterFlex extends MybatisAdapterDefault { globalConfig.setConfiguration(config); FlexGlobalConfig.setConfig(environment.getId(), globalConfig, false); + + //增加事件扩展机制 + EventBus.push(globalConfig); } /** @@ -102,14 +107,25 @@ public class MybatisAdapterFlex extends MybatisAdapterDefault { return factory; } + RowMapperInvoker rowMapperInvoker; + @Override public void injectTo(VarHolder varH) { super.injectTo(varH); - //@Db("db1") SqlSessionFactory factory; + //@Db("db1") FlexGlobalConfig globalConfig; if (FlexGlobalConfig.class.isAssignableFrom(varH.getType())) { varH.setValue(this.getGlobalConfig()); return; } + + //@Db("db1") RowMapperInvoker rowMapper; + if (RowMapperInvoker.class.equals(varH.getType())) { + if (rowMapperInvoker == null) { + rowMapperInvoker = new RowMapperInvoker(getFactory()); + } + varH.setValue(rowMapperInvoker); + return; + } } } diff --git a/pom.xml b/pom.xml index d3b85eca..40bdb1cc 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ 5.3.25 2.7.10 - 2.2.10 + 2.2.14 4.13.2