diff --git a/4.Solon-Data/demo4033-mybatisplus_sqlserver/src/main/resources/app.yml b/4.Solon-Data/demo4033-mybatisplus_sqlserver/src/main/resources/app.yml
index dccfdd8258fbb71966420011797edf9e6ae208ff..6930ccea64c9b065d0071b4a1a308eaf834d58e6 100644
--- a/4.Solon-Data/demo4033-mybatisplus_sqlserver/src/main/resources/app.yml
+++ b/4.Solon-Data/demo4033-mybatisplus_sqlserver/src/main/resources/app.yml
@@ -22,7 +22,7 @@ solon.dataSources:
#默认
mybatis.db1:
typeAliases: #支持包名 或 类名 //支持 ** 和 *
- - "com.study.domain.*.**"
+ - "demo4033.model.*.**"
mappers: #支持包名 或 类名 或 xml(.xml结尾)//支持 ** 和 *
- "classpath:mapper/*.xml"
configuration:
@@ -32,7 +32,3 @@ mybatis.db1:
logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl
globalConfig:
banner: false
-# metaObjectHandler: "demo4031.dso.MetaObjectHandlerImpl"
-# dbConfig:
-# logicDeleteField: "deleted"
-# logicDeleteValue: "2"
\ No newline at end of file
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/img.png b/4.Solon-Data/demo4034-mybatisplus-dynamicds/img.png
new file mode 100644
index 0000000000000000000000000000000000000000..7629883c3fc37b4384de34f97db0479d14024620
Binary files /dev/null and b/4.Solon-Data/demo4034-mybatisplus-dynamicds/img.png differ
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/pom.xml b/4.Solon-Data/demo4034-mybatisplus-dynamicds/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e285178967ad92e9da8ec73a39c78fb3b49e48b7
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/pom.xml
@@ -0,0 +1,89 @@
+
+
+ 4.0.0
+ org.noear.solon.examples
+ demo4034-mybatisplus-dynamicds
+ demo
+ jar
+
+ ${project.artifactId}
+ java project for solon demo
+
+
+ org.noear
+ solon-parent
+ 3.2.1
+
+
+
+
+ 8
+
+
+
+
+
+ org.noear
+ solon-web
+
+
+
+ org.noear
+ solon-logging-simple
+
+
+
+ org.noear
+ solon-data-sqlutils
+
+
+
+
+ com.baomidou
+ mybatis-plus-solon-plugin
+ 3.5.9
+
+
+
+ com.zaxxer
+ HikariCP
+ 4.0.3
+
+
+
+ org.projectlombok
+ lombok
+ provided
+
+
+
+
+ org.noear
+ solon-test
+ test
+
+
+
+ org.noear
+ solon-web-staticfiles
+
+
+
+
+
+ com.mysql
+ mysql-connector-j
+ 8.0.33
+
+
+
+
+ org.noear
+ solon-data-dynamicds
+
+
+
+
+
\ No newline at end of file
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/readme.md b/4.Solon-Data/demo4034-mybatisplus-dynamicds/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..0cdf4002fdd05a1376f1d53575dc22f79ec3a210
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/readme.md
@@ -0,0 +1,9 @@
+
+## 该模块主要为了solon+mybatisplus+solon-data-dynamicds 提供一个简单示例.
+
+## 效果已经在DynamicDsTest 下面出来了
+
+# 注意 配置文件 不要忘记换成自己的!!
+
+
+
\ No newline at end of file
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/DemoApp.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/DemoApp.java
new file mode 100644
index 0000000000000000000000000000000000000000..6106899de21ae058f1a8d935c54adf6a31a7ab6a
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/DemoApp.java
@@ -0,0 +1,14 @@
+package demo4034;
+
+import org.noear.solon.Solon;
+import org.noear.solon.annotation.SolonMain;
+
+/**
+ *
+ * */
+@SolonMain
+public class DemoApp {
+ public static void main(String[] args) {
+ Solon.start(DemoApp.class, args);
+ }
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/mapper/UserMapper.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/mapper/UserMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..e1a24477c8b40bcf30b27c234acf4bda8eb685ce
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/mapper/UserMapper.java
@@ -0,0 +1,13 @@
+package demo4034.dso.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import demo4034.model.UserModel;
+import org.apache.ibatis.annotations.Mapper;
+
+
+
+
+@Mapper
+public interface UserMapper extends BaseMapper {
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/UserService.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/UserService.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea374bc36ab2cb459b06eb2b3c4fef966d4f9d9f
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/UserService.java
@@ -0,0 +1,14 @@
+package demo4034.dso.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import demo4034.model.UserModel;
+
+/**
+ * @Description: 类作用
+ * @Author: csc
+ * @Date: 2025/5/1 16:28
+ * @Version: 1.0
+ **/
+public interface UserService extends IService {
+
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/UserService2.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/UserService2.java
new file mode 100644
index 0000000000000000000000000000000000000000..c2a5b43a7fa66b0496650226ff34d8b0ffcc7fb4
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/UserService2.java
@@ -0,0 +1,7 @@
+package demo4034.dso.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import demo4034.model.UserModel;
+
+public interface UserService2 extends IService {
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/impl/UserServiceImpl.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..0f1698252445326a578090ab5e1a53b52f005894
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/impl/UserServiceImpl.java
@@ -0,0 +1,21 @@
+package demo4034.dso.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import demo4034.dso.mapper.UserMapper;
+import demo4034.dso.service.UserService;
+import demo4034.model.UserModel;
+import lombok.AllArgsConstructor;
+import org.noear.solon.annotation.Component;
+import org.noear.solon.data.dynamicds.DynamicDs;
+
+/**
+ * @Description: 类作用
+ * @Author: csc
+ * @Date: 2025/5/1 16:52
+ * @Version: 1.0
+ **/
+@Component
+@AllArgsConstructor
+@DynamicDs("db_user_r") //设置数据源
+public class UserServiceImpl extends ServiceImpl implements UserService {
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/impl/UserServiceImpl2.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/impl/UserServiceImpl2.java
new file mode 100644
index 0000000000000000000000000000000000000000..83f8e0d69ba2dacbcbbb77852a70648a18f670c7
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/dso/service/impl/UserServiceImpl2.java
@@ -0,0 +1,22 @@
+package demo4034.dso.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import demo4034.dso.mapper.UserMapper;
+import demo4034.dso.service.UserService;
+import demo4034.dso.service.UserService2;
+import demo4034.model.UserModel;
+import lombok.AllArgsConstructor;
+import org.noear.solon.annotation.Component;
+import org.noear.solon.data.dynamicds.DynamicDs;
+
+/**
+ * @Description: 类作用
+ * @Author: csc
+ * @Date: 2025/5/1 16:53
+ * @Version: 1.0
+ **/
+@Component
+@AllArgsConstructor
+@DynamicDs("db2") //设置数据源
+public class UserServiceImpl2 extends ServiceImpl implements UserService2 {
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/model/UserModel.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/model/UserModel.java
new file mode 100644
index 0000000000000000000000000000000000000000..dafb15177c35a3cf830a4c775f93ca8f5a41e783
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/java/demo4034/model/UserModel.java
@@ -0,0 +1,23 @@
+package demo4034.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description: 类作用
+ * @Author: csc
+ * @Date: 2025/5/1 16:23
+ * @Version: 1.0
+ **/
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("user")
+public class UserModel {
+
+ private Integer id;
+
+ private String name;
+}
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/resources/app.yml b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/resources/app.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e7056f82e7446bb3a8b70f08ab1ff5f390ab1c78
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/main/resources/app.yml
@@ -0,0 +1,53 @@
+
+server:
+ port: 8011
+
+
+
+
+solon.dataSources:
+ db1!: # db1 用动态数据源演示
+ class: "org.noear.solon.data.dynamicds.DynamicDataSource"
+ strict: true #是否严格的
+ default: db2 #指定默认的内部数据源 NCC 默认NCC的sqlserver
+ db_user_r: #内部数据源1
+ type: "com.zaxxer.hikari.HikariDataSource"
+ schema: demand
+ jdbcUrl: jdbc:mysql://127.0.0.1:3306/one?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true&useSSL=false
+ driverClassName: com.mysql.cj.jdbc.Driver
+ username: root
+ password: 123456
+ db2:
+ type: "com.zaxxer.hikari.HikariDataSource"
+ driverClassName: com.mysql.cj.jdbc.Driver
+ jdbcUrl: jdbc:mysql://127.0.0.1:3306/two?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true&useSSL=false
+ username: root
+ password: 123456
+
+
+
+
+
+
+#默认
+mybatis.db1:
+ typeAliases: #支持包名 或 类名 //支持 ** 和 *
+ - "demo4034.model.*.**"
+ mappers: #支持包名 或 类名 或 xml(.xml结尾)//支持 ** 和 *
+ - "demo4034.dso.mapper"
+ # - "classpath:demo4034/dso/mapper/*.xml"
+ configuration:
+ cacheEnabled: false
+ mapperVerifyEnabled: false
+ mapUnderscoreToCamelCase: true
+ # org.apache.ibatis.logging.nologging.NoLoggingImpl
+ logImpl: org.apache.ibatis.logging.stdout.StdOutImpl
+ globalConfig:
+ banner: false
+
+
+
+
+
+
+
diff --git a/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/test/java/demo4034/DynamicDsTest.java b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/test/java/demo4034/DynamicDsTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8975f7d87816aca12dea3a2b6d97bab8e66f3773
--- /dev/null
+++ b/4.Solon-Data/demo4034-mybatisplus-dynamicds/src/test/java/demo4034/DynamicDsTest.java
@@ -0,0 +1,37 @@
+package demo4034;
+
+import demo4034.dso.service.UserService;
+import demo4034.dso.service.UserService2;
+import demo4034.model.UserModel;
+import org.junit.jupiter.api.Test;
+import org.noear.solon.annotation.Inject;
+import org.noear.solon.test.SolonTest;
+
+import java.util.List;
+
+/**
+ * @Description: 类作用
+ * @Author: csc
+ * @Date: 2025/5/1 16:57
+ * @Version: 1.0
+ **/
+@SolonTest
+public class DynamicDsTest {
+
+ @Inject
+ private UserService userService;
+
+
+ @Inject
+ private UserService2 userService2;
+
+
+ @Test
+ public void ceshi(){
+ List list = userService.list();
+ List list2 = userService2.list();
+ list.forEach(System.out::println);
+ list2.forEach(System.out::println);
+ }
+
+}
diff --git a/4.Solon-Data/pom.xml b/4.Solon-Data/pom.xml
index bee374c9d073103a24e435685ee58d5b20dc719f..e1f57d230b93602fd5d907f1828f67d882cc08c2 100644
--- a/4.Solon-Data/pom.xml
+++ b/4.Solon-Data/pom.xml
@@ -46,6 +46,7 @@
demo4082-hibernate
demo4101-redisson
demo4033-mybatisplus_sqlserver
+ demo4034-mybatisplus-dynamicds