### 多数据源
![](https://img.kancloud.cn/25/35/25358a835c627461f07e552ee56469bc_1050x583.png)
![](https://img.kancloud.cn/29/39/2939e41011d8c1792d1b8b742ba4c23f_1662x284.png)
* SqlToyLazyDao中findByQuery、findPageByQuery等QueryExecutor中都可以设置dataSource
* 使用dynamic-datasource时注入的dataSource类型不完全一致?
请通过spring.sqltoy.dataSourceSelector=xxxx.xxxx 进行扩展实现,具体实现参照org.sagacity.sqltoy.plugins.datasource.impl.DefaultDataSourceSelector
![](https://img.kancloud.cn/7a/e5/7ae5da5b80ec8dc442e83f2a08198f60_1056x824.png)
* 针对dynamic-datasource场景DataSourceSelector范例
备注:
1、如应用内考虑事务推荐定义多个sqltoylazyDao模式并结合jta
2、如分布式场景则应该结合seate或其他分布式事务框架
![](https://img.kancloud.cn/53/70/5370ae7f32d92b892fda611761e06554_2088x1865.png)
* 针对类似dynamic-datasource插件事务支持的扩展
Sqltoy跟数据库连接有关系的唯有SqlToyContext中的connectionFactory,可以自行实现org.sagacity.sqltoy.plugins.connection.ConnectionFactory接口,依据插件特点获得当前connection和归还释放connection
基于dynamic-datasource的范例实现:
![](https://img.kancloud.cn/86/94/8694fa9e02968129cd290e7cd0d099f3_2557x1589.png)
配置文件修改:
![](https://img.kancloud.cn/13/75/137541c323f0ed8a8142eff41b0d128e_2095x661.png)
- 1.简介
- 开发历程
- 技术架构
- 问答了解
- 版本历史
- update-5.1.4、4.18.43
- update-5.1.2
- 早期历史
- 5.1.15.rc1
- 2.快速使用
- 示例与环境
- quickvo工具使用
- 用法说明
- 关键注意事项
- 严格VO(DTO)和POJO(entity)分层
- 3.教程
- spring项目搭建
- Toy-ORM 配置
- 详细配置参数
- 缓存功能
- 缓存配置、缓存扩展
- 扩展缓存框架配置
- 缓存翻译
- 其他缓存应用场景
- 公共功能
- 表(对象)关联
- 公共字段赋值
- 链式操作
- DTO与POJO互转
- 对象操作
- save + update
- delete + trunk
- load加载数据
- 唯一验证
- 树形数据
- sharding分库分表
- SQL操作
- sql文件规则
- filters说明
- 缓存翻译
- 分库分表
- 汇总、环比
- 行列转换
- 数据脱敏
- 格式化-数字日期
- sqlToy的sql查询基本规则
- Sql查询功能
- load操作
- get操作
- find操作
- 分页查询
- 并行查询
- execute操作
- executeSql
- executeStore
- 数据库特性
- 主键策略
- JSON等类型扩展支持
- 跨库说明--异种库兼容
- 数据库保留字处理
- 多源-多库-异库
- 多数据源
- Mongodb支持
- ElasticSearch支持
- 高级扩展
- 补充-if+fast+blank+value+loop
- 高级功能
- 完美sql
- 快速分页
- 缓存翻译
- 防止sql注入
- 字段加解密
- 扩展集成