以下是一个Java程序,可以连接多个不同IP的MySQL数据库,实现高可用:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class MultiDBConnection {
    private List<String> urls;
    private String user;
    private String password;

    public MultiDBConnection(List<String> urls, String user, String password) {
        this.urls = urls;
        this.user = user;
        this.password = password;
    }

    public Connection getConnection() throws SQLException {
        SQLException lastException = null;
        for (String url : urls) {
            try {
                Connection conn = DriverManager.getConnection(url, user, password);
                if (!conn.isClosed()) {
                    return conn;
                }
            } catch (SQLException e) {
                lastException = e;
            }
        }
        throw lastException;
    }

    public static void main(String[] args) throws SQLException {
        List<String> urls = new ArrayList<>();
        urls.add("jdbc:mysql://192.168.0.1:3306/mydb");
        urls.add("jdbc:mysql://192.168.0.2:3306/mydb");
        urls.add("jdbc:mysql://192.168.0.3:3306/mydb");
        MultiDBConnection multiDBConnection = new MultiDBConnection(urls, "myuser", "mypassword");
        Connection conn = multiDBConnection.getConnection();
        System.out.println("Connected to database: " + conn.getMetaData().getDatabaseProductName());
    }
}

这个程序使用了一个MultiDBConnection类来管理连接多个不同IP的MySQL数据库。在构造函数中传入了多个数据库的URL,用户名和密码。在getConnection()方法中,程序依次尝试连接每个数据库,如果连接成功就返回连接对象,否则就继续尝试下一个数据库。如果所有数据库都连接失败,就抛出最后一个异常。

main()方法中,程序创建了一个MultiDBConnection对象,传入了三个不同的MySQL数据库的URL和用户名密码。然后调用getConnection()方法获取连接对象,并打印出连接成功后的数据库产品名称

帮我用java语言实现一个连接多个不同ip的mysql数据库要高可用用代码实现

原文地址: https://www.cveoy.top/t/topic/hgxC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录