update docs

This commit is contained in:
开源海哥 2023-04-21 12:25:51 +08:00
parent de4aba65f8
commit 4a03baac90
4 changed files with 88 additions and 4 deletions

View File

@ -34,6 +34,7 @@ export default defineConfig({
{text: '和同类框架「功能」对比', link: '/zh/comparison'},
{text: '和同类框架「性能」对比', link: '/zh/benchmark'},
{text: '和 Spring 整合 常见问题', link: '/zh/mybatis-flex-with-spring'},
{text: '支持的数据库类型', link: '/zh/support-database'},
{text: 'QQ 交流群', link: '/zh/qq-group'},
]
},

View File

@ -166,4 +166,22 @@ mybatis-flex:
::: tip 提示
在数据源的配置中,`type` 可以配置为某个 DataSource 的类名,也可以配置为别名,别名支持有:`druid`
`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 值。

View 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()` 方法注册自己的方言

View File

@ -52,15 +52,27 @@ public class EntityTestStarter {
// .groupBy(ACCOUNT.ID);
// List<Account> accounts = accountMapper.selectListByQuery(wrapper);
//
// QueryWrapper queryWrapper = new QueryWrapper();
// queryWrapper.where(ACCOUNT.ID.in(
// select(ACCOUNT.ID).from(ACCOUNT)
// select(ACCOUNT.ID).from(ACCOUNT).where(ACCOUNT.ID.in(
// 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);
// 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);
// System.out.println(account);