nacos-datasource-extend-plugins
所属分类:PostgreSQL
开发工具:Java
文件大小:54KB
下载次数:0
上传日期:2022-12-21 10:59:44
上 传 者:
sh-1993
说明: 微服务注册与配置中心Nacos2.2的PostgreSQL数据源适配插件仓库,欢迎贡献与Star
(The PostgreSQL data source adaptation plugin repository for the microservice registration and configuration center, Nacos2.2. Welcome to contribute to Star)
文件列表:
nacos-datasource-plugin-ext (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-all-datasource-plugin-ext (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-all-datasource-plugin-ext\pom.xml (1049, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\.flattened-pom.xml (1512, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\pom.xml (1097, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\constants (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\constants\DatabaseTypeConstant.java (889, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\constants\PrimaryKeyConstant.java (1121, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\dialect (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\dialect\AbstractDatabaseDialect.java (1861, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\dialect\DatabaseDialect.java (2418, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\dialect\DefaultDatabaseDialect.java (968, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseConfigInfoAggrMapper.java (1819, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseConfigInfoBetaMapper.java (2091, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseConfigInfoMapper.java (9104, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseConfigInfoTagMapper.java (1911, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseConfigTagsRelationMapper.java (4376, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseGroupCapacityMapper.java (1434, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseTenantCapacityMapper.java (1442, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\impl\base\BaseTenantInfoMapper.java (897, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\manager (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\java\com\alibaba\nacos\plugin\datasource\manager\DatabaseDialectManager.java (2473, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\resources (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\resources\META-INF (0, 2022-12-21)
nacos-datasource-plugin-ext\nacos-datasource-plugin-ext-base\src\main\resources\META-INF\services (0, 2022-12-21)
... ...
# Nacos2.2版本数据库适配插件
## 一、插件概述
### 1.1、简介
从2022年12月14日发布的Nacos2.2正式版本开始,Nacos提供了数据源扩展插件,以便让需要进行其他数据库适配的用户自己编写插件来保存数据。当前项目插件目前已简单适配Postgresql,并抽象了一套常见的兼容项的方言类,开发者可以基于该设计,实现自定义分页逻辑即可。
如需Nacos2.1支持,请移步个人之前创建这个仓库,该仓库目前支持PostgreSQL、Oracle、达梦,简单的操作基本可以实现。
https://github.com/wuchubuzai2018/nacos-multidatasource
当前项目基于Nacos2.2版本的扩展插件口进行开发。
### 2.2、插件工程结构说明
nacos-datasource-plugin-ext工程主目录
----nacos-datasource-plugin-ext-base工程设计为数据库插件操作的适配抽象。
----nacos-all-datasource-plugin-ext工程计划可打包所有适配的数据库插件
----nacos-postgresql-datasource-plugin-ext工程可打包适配Postgresql的数据库插件
## 二、下载和使用
IDEA导入时导入nacos-datasource-plugin-ext这个目录作为根目录即可。
### 2.1、插件引入
**方式一:源码方式**
使用postgresql作为依赖引入到Nacos主分支源码中,使用Maven提前将当前工程Install到Maven仓库,然后在Pom.xml中引入如下依赖:
```xml
com.alibaba.nacos
nacos-postgresql-datasource-plugin-ext
1.0.0-SNAPSHOT
```
或引入all模块。
**方式二:打包形式引入**
在Nacos2.2的发布包环境下,下载当前插件项目源码,打包为jar包,将该文件放到nacos主目录下的plugins文件夹中,默认会使用Nacos的loader.path机制指定该插件的路径,打包插件可选择nacos-postgresql-datasource-plugin-ext打包即可。postgresql模块的打包默认会包含postgresql的jdbc驱动类和base依赖。
### 2.2、修改数据库配置文件
在application.properties文件中声明postgresql的配置信息:
```java
spring.datasource.platform=postgresql
db.url.0=jdbc:postgresql://127.0.0.1:5432/nacos?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java
db.user=nacos
db.password=nacos
db.pool.config.driverClassName=org.postgresql.Driver
```
### 2.3、导入Postgresql的数据库脚本文件
导入nacos-postgresql的脚本文件,脚本文件在nacos-postgresql-datasource-plugin-ext/src/main/resources/schema文件夹下面.
上面操作完成后,启动Nacos即可。
## 三、其他数据库插件开发
可参考nacos-postgresql-datasource-plugin-ext工程,新创建Maven项目,实现AbstractDatabaseDialect类,重写相关的分页操作逻辑与方法,并创建相应的mapper实现,减少了适配的成本。
目前对于Oracle、达梦数据库,仍然需要修改Nacos2.2的主分支代码,因为要兼容默认的命名空间ID为空的查询情况,社区官网未处理。
最近有时间,将进行Nacos主分支源码上关于Nacos的Oracle的兼容性适配,目前可以用Nacos2.1的改造代码进行处理。
近期下载者:
相关文件:
收藏者: