测试连接:MYSQL、Doris、ORACLE、SQLSERVER、PostgreSQL、Hive、Elasticsearch、minIO

这篇博客详细介绍了如何进行多种数据库的连接测试,包括MYSQL、Doris、ORACLE、SQLSERVER、PostgreSQL、Hive、Elasticsearch以及minIO。通过实例展示了各种数据库的连接配置和操作,为读者提供了一份全面的数据库连接指南。
摘要由CSDN通过智能技术生成
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.54</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.5</version>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>8.3.5</version>
        </dependency>
    /**
     * 数据源url拼接及连接测试
     *
     * @param sysDatasource 数据源对象
     * @return Response对象
     */
    private Map<Object, Object> testConn(SysDatasource sysDatasource) {
   
        Map<Object, Object> result = new HashMap<>();

        //检测库名
        if ("".equals(sysDatasource.getDatabaseName()) || null == sysDatasource.getDatabaseName()) {
   
            result.put("Response", Response.builderFail("1", "库名不能为空"));
            return result;
        }

//        String path = "C:/Users/xxx/Desktop/";
        String path = "/data/temp";
        //获得数据源类型、账号、密码、ip、端口
        String dataType = sysDatasource.getDatasourceType();
        String username = sysDatasource.getUsername();
        String password = sysDatasource.getPassword();
        String ip = sysDatasource.getHost();
        Integer port = sysDatasource.getPort();
        String databaseName = sysDatasource.getDatabaseName();
        String url = "";
        String configParam = sysDatasource.getConfigParam();
        String connectParam = sysDatasource.getConnectParam();
        StringBuilder param = new StringBuilder();
        boolean flag = false;

        if (!"".equals(connectParam) && null != connectParam) {
   
            flag = true;
            JSONObject map = JSONUtil.parseObj(connectParam);
            for (Object obj : map.entrySet()) {
   
                param.append(obj).append("&");
            }
            if (-1 != param.lastIndexOf("&")) {
   
                param.deleteCharAt(param.lastIndexOf("&"));
            }
        }

        //比较数据源类型获得不同的驱动类字符串、连接字符串
        switch (dataType) {
   
            case "MYSQL":
            case "Apache Doris":
                url = flag ? "jdbc:mysql://" + ip + ":" + port + "/" + databaseName + "?" + param : "jdbc:mysql://" + ip + ":" + port + "/" + databaseName;
                result.put("Response", conn(url, username, password)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值