mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 09:08:24 +08:00
update docs
This commit is contained in:
parent
de4aba65f8
commit
4a03baac90
@ -34,6 +34,7 @@ export default defineConfig({
|
|||||||
{text: '和同类框架「功能」对比', link: '/zh/comparison'},
|
{text: '和同类框架「功能」对比', link: '/zh/comparison'},
|
||||||
{text: '和同类框架「性能」对比', link: '/zh/benchmark'},
|
{text: '和同类框架「性能」对比', link: '/zh/benchmark'},
|
||||||
{text: '和 Spring 整合 常见问题', link: '/zh/mybatis-flex-with-spring'},
|
{text: '和 Spring 整合 常见问题', link: '/zh/mybatis-flex-with-spring'},
|
||||||
|
{text: '支持的数据库类型', link: '/zh/support-database'},
|
||||||
{text: 'QQ 交流群', link: '/zh/qq-group'},
|
{text: 'QQ 交流群', link: '/zh/qq-group'},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -167,3 +167,21 @@ mybatis-flex:
|
|||||||
在数据源的配置中,`type` 可以配置为某个 DataSource 的类名,也可以配置为别名,别名支持有:`druid`、
|
在数据源的配置中,`type` 可以配置为某个 DataSource 的类名,也可以配置为别名,别名支持有:`druid`、
|
||||||
`hikari`、`hikaricp`、`bee`、`beecp`、`dbcp`、`dbcp2`。
|
`hikari`、`hikaricp`、`bee`、`beecp`、`dbcp`、`dbcp2`。
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## 动态添加新的数据源
|
||||||
|
|
||||||
|
在多租户等某些场景下,我们可能需要用到动态的添加新的数据源,此时可以通过如下的方式进行添加。
|
||||||
|
|
||||||
|
```java
|
||||||
|
FlexDataSource flexDataSource = (FlexDataSource) FlexGlobalConfig
|
||||||
|
.getDefaultConfig().getConfiguration()
|
||||||
|
.getEnvironment().getDataSource();
|
||||||
|
|
||||||
|
//新的数据源
|
||||||
|
HikariDataSource newDataSource = new HikariDataSource();
|
||||||
|
|
||||||
|
flexDataSource.addDataSource("newKey", newDataSource);
|
||||||
|
```
|
||||||
|
|
||||||
|
> 需要注意的是:通过 FlexGlobalConfig 去获取 FlexDataSource 时,需等待应用完全启动成功后,才能正常获取 FlexDataSource,
|
||||||
|
> 否则将会得到 null 值。
|
||||||
53
docs/zh/support-database.md
Normal file
53
docs/zh/support-database.md
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
# Mybatis-Flex 支持的数据库类型
|
||||||
|
|
||||||
|
Mybatis-Flex 支持的数据库类型,如下表格所示,我们还可以通过自定义方言的方式,持续添加更多的数据库支持。
|
||||||
|
|
||||||
|
|
||||||
|
| 数据库 | 描述 |
|
||||||
|
| -------- | -------- |
|
||||||
|
| mysql | MySql 数据库 |
|
||||||
|
| mariadb | MariaDB 数据库 |
|
||||||
|
| oracle | Oracle11g 及以下数据库 |
|
||||||
|
| oracle12c | Oracle12c 及以上数据库 |
|
||||||
|
| db2 | DB2 数据库 |
|
||||||
|
| hsql | HSQL 数据库 |
|
||||||
|
| sqlite | SQLite 数据库 |
|
||||||
|
| postgresql | HSQL 数据库 |
|
||||||
|
| hsql | Postgre 数据库 |
|
||||||
|
| sqlserver2005 | SQLServer2005 数据库 |
|
||||||
|
| sqlserver | SQLServer 数据库 |
|
||||||
|
| dm | 达梦数据库 |
|
||||||
|
| xugu | 虚谷数据库 |
|
||||||
|
| kingbasees | 人大金仓数据库 |
|
||||||
|
| phoenix | Phoenix HBase 数据库 |
|
||||||
|
| gauss | Gauss 数据库 |
|
||||||
|
| clickhouse | ClickHouse 数据库 |
|
||||||
|
| gbase | 南大通用(华库)数据库 |
|
||||||
|
| gbase-8s | 南大通用数据库 GBase 8s |
|
||||||
|
| oscar | 神通数据库 |
|
||||||
|
| sybase | Sybase ASE 数据库 |
|
||||||
|
| OceanBase | OceanBase 数据库 |
|
||||||
|
| Firebird | Firebird 数据库 |
|
||||||
|
| derby | Derby 数据库 |
|
||||||
|
| highgo | 瀚高数据库 |
|
||||||
|
| cubrid | CUBRID 数据库 |
|
||||||
|
| goldilocks | GOLDILOCKS 数据库 |
|
||||||
|
| csiidb | CSIIDB 数据库 |
|
||||||
|
| hana | SAP_HANA 数据库 |
|
||||||
|
| impala | Impala 数据库 |
|
||||||
|
| vertica | Vertica 数据库 |
|
||||||
|
| xcloud | 行云数据库 |
|
||||||
|
| redshift | 亚马逊 redshift 数据库 |
|
||||||
|
| openGauss | 华为 openGauss 数据库 |
|
||||||
|
| TDengine | TDengine 数据库 |
|
||||||
|
| informix | Informix 数据库 |
|
||||||
|
| greenplum | Greenplum 数据库 |
|
||||||
|
| uxdb | 优炫数据库 |
|
||||||
|
|
||||||
|
|
||||||
|
## 数据库方言
|
||||||
|
|
||||||
|
在某些场景下,比如用户要实现自己的 SQL 生成逻辑时,我们可以通过实现自己的方言达到这个目的,实现方言分为两个步骤:
|
||||||
|
|
||||||
|
- 1、编写自己的方言类,实现 `IDialect` 接口
|
||||||
|
- 2、通过 `DialectFactory.registerDialect()` 方法注册自己的方言
|
||||||
@ -52,15 +52,27 @@ public class EntityTestStarter {
|
|||||||
// .groupBy(ACCOUNT.ID);
|
// .groupBy(ACCOUNT.ID);
|
||||||
|
|
||||||
// List<Account> accounts = accountMapper.selectListByQuery(wrapper);
|
// List<Account> accounts = accountMapper.selectListByQuery(wrapper);
|
||||||
//
|
|
||||||
// QueryWrapper queryWrapper = new QueryWrapper();
|
// QueryWrapper queryWrapper = new QueryWrapper();
|
||||||
// queryWrapper.where(ACCOUNT.ID.in(
|
// queryWrapper.where(ACCOUNT.ID.in(
|
||||||
|
// select(ACCOUNT.ID).from(ACCOUNT).where(ACCOUNT.ID.in(
|
||||||
// select(ACCOUNT.ID).from(ACCOUNT)
|
// select(ACCOUNT.ID).from(ACCOUNT)
|
||||||
|
// )
|
||||||
|
// )
|
||||||
// ));
|
// ));
|
||||||
//
|
//
|
||||||
// Page<Account> paginate = accountMapper.paginate(new Page<>(1,10),queryWrapper);
|
// Page<Account> paginate = accountMapper.paginate(1,10,queryWrapper);
|
||||||
// System.out.println(paginate);
|
// System.out.println(paginate);
|
||||||
|
|
||||||
|
// List<Account> accounts = new ArrayList<>();
|
||||||
|
// for (int i = 0; i < 10; i++) {
|
||||||
|
// Account account = new Account();
|
||||||
|
// account.setUserName("test" + i);
|
||||||
|
// accounts.add(account);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// accountMapper.insertBatch(accounts);
|
||||||
|
|
||||||
|
|
||||||
// Account account = accountMapper.selectOneById(1);
|
// Account account = accountMapper.selectOneById(1);
|
||||||
// System.out.println(account);
|
// System.out.println(account);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user