springboot工程从mysql迁移到达梦数据库之nacos适配

  1. nacos引入依赖驱动

方法一:仓库直接导入

<dependency>
  <groupId>com.dameng</groupId>
  <artifactId>Dm8JdbcDriver18</artifactId>
  <version>8.1.1.49</version>
</dependency>

方法二:相对路径导入 scope为system 需要在plugin里配置system打包
方法三:mvn命令导入

  1. 修改nacos源码
    1. 修改ExternalDataSourceProperties
    法一:在原有基础上改
    法二:新建
	private String jdbcDriverName;
	
    public String getJdbcDriverName() {
        return jdbcDriverName;
    }

    public void setJdbcDriverName(String jdbcDriverName) {
        this.jdbcDriverName = jdbcDriverName;
    }

法一

// update start 自定义对达梦数据库的支持
            if (StringUtils.isNotEmpty(jdbcDriverName)) {
                System.out.println("####################################" + jdbcDriverName);
                // 设置模式名
                ds.setSchema("NACOS");
                ds.setDriverClassName(jdbcDriverName);
            }else {
                ds.setDriverClassName(JDBC_DRIVER_NAME);
            }

法二

System.out.println("===================================");
            System.out.println("jdbcDriverName=" + jdbcDriverName);
            if (StringUtils.isNotEmpty(jdbcDriverName)) {
                // 怎加其他数据库驱动
                ds.setDriverClassName(jdbcDriverName);
            } else {
                //默认为mysql驱动
                ds.setDriverClassName(JDBC_DRIVER_NAME);
            }
            System.out.println("===================================");
            System.out.println("dataSources=" + dataSources);

法三

System.out.println("#################################");
            System.out.println("jdbcDriverName=" + jdbcDriverName);
            if (StringUtils.isNotEmpty(jdbcDriverName)) {
                // 增加其他数据库驱动的支持
                ds.setDriverClassName(jdbcDriverName);
            } else {
                //默认使用mysql驱动
                ds.setDriverClassName(JDBC_DRIVER_NAME);
            }
            System.out.println("#################################");
            System.out.println("dataSources=" + dataSources); 
  1. 修改ExternalDataSourceServiceImpl
    法一:在原有基础上改
    法二:新建
dataSourceList = new DMDataSourceProperties()
  1. 修改DynamicDataSource
 basicDataSourceService = new DMDataSourceServiceImpl();
  1. 修改PropertiesConstant
    public static final String DM = "dm";
  1. 修改PropertyUtil
setUseExternalDB(PropertiesConstant.DM.equalsIgnoreCase
(getString(PropertiesConstant.SPRING_DATASOURCE_PLATFORM, "")));
  1. 修改nacos配置
spring.datasource.platform=dm
db.num=1
db.jdbcDriverName=dm.jdbc.driver.DmDriver
db.url.0=jdbc:dm://127.0.0.1:5236/MAIN?STU&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
db.user.0=NACOS
db.password.0=NACOS!@#
  1. 启动
    VM options:-Dnacos.standalone=true
  2. 打包nacos
mvn -Prelease-nacos -Dmaven.test.skip=true -Dpmd.skip=true -Dcheckstyle.skip=true clean install -U
  1. 修改StartingApplicationListener

  2. 工程引入依赖驱动

  3. 修改工程源码

参考:
https://blog.csdn.net/u010715243/article/details/126584579
https://huaweicloud.csdn.net/63356f28d3efff3090b56ca0.html?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2defaultESLANDINGactivity-5-126015374-blog-126584579.pc_relevant_landingrelevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultESLANDINGactivity-5-126015374-blog-126584579.pc_relevant_landingrelevant&utm_relevant_index=6
https://blog.csdn.net/yy1209357299/article/details/123486377?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDING%7Edefault-6-123486377-blog-126584579.pc_relevant_landingrelevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EESLANDING%7Edefault-6-123486377-blog-126584579.pc_relevant_landingrelevant&utm_relevant_index=7
https://developer.aliyun.com/article/976299
https://blog.csdn.net/weixin_40484820/article/details/127610640

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Docker与Nacos数据库,我们可以采取以下步骤: 1. 在Docker中下载并安装Nacos镜像。可以使用Docker Hub上的官方Nacos镜像,该镜像提供了可用于不同数据库置选项。 2. Nacos连接达数据库。编辑Nacos置文件nacos/conf/application.properties,在该文件中找到数据库相关置项,如`spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password`等,将其按照达数据库的连接信息进行相应修改。 3. 构建并启动Nacos容器。使用Docker命令行工具,执行类似以下命令来构建并启动Nacos容器: ``` docker run -d -p 8848:8848 --name nacos-server \ -e MODE=standalone \ -e MYSQL_SERVICE_HOST=<数据库主机地址> \ -e MYSQL_SERVICE_PORT=<数据库端口> \ -e MYSQL_SERVICE_DB_NAME=<数据库名称> \ -e MYSQL_SERVICE_USER=<数据库用户名> \ -e MYSQL_SERVICE_PASSWORD=<数据库密码> \ --restart=always \ nacos/nacos-server:latest ``` 替换<数据库主机地址>、<数据库端口>、<数据库名称>、<数据库用户名>、<数据库密码>为实际达数据库的信息。 4. 确认Nacos容器已成功启动。使用Docker命令行工具执行以下命令来查看容器状态: ``` docker ps ``` 如果容器状态为Up,则表示Nacos容器已成功运行。 5. 启动达数据库。确保达数据库已成功启动,并且Nacos容器可以连接到达数据库。可以使用数据库客户端验证连接信息是否正确。 6. 访问Nacos管理界面。在浏览器中输入Nacos容器所在主机的IP地址和端口号(默认为8848),访问Nacos的管理界面。在界面中可以置和管理Nacos的服务、置等。 通过以上步骤,我们可以在Docker中Nacos和达数据库实现服务注册和置管理。这样,我们就可以使用Docker来构建和管理基于Nacos和达数据库的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值