Java外部MySQL数据库连接

时间:2013-05-21 04:13:02

标签: java mysql database connection

我有一个Java应用程序需要连接到外部MySQL数据库。但是,我们有一个能够登录到计算机的受限IP地址列表。问题是我们的一个客户旅行,因此有一个动态IP地址。我们选择使用http://www.noip.com的路由来考虑动态IP地址。但是,如何将两个程序链接在一起存在问题。 java应用程序仍然引用[ip address] .hlrn.qwest.net而不是[sub-domain] .no-ip.biz。

我可以在Java中使用一个函数来覆盖我的IP地址用于连接数据库的内容吗?

感谢。

2 个答案:

答案 0 :(得分:0)

理想情况下,连接字符串应该已外部化,以便可以轻松修改。如果它更多地是对IP的政策约束,那么我认为无论我们采用哪种方式;它仍然可以被视为违规。无论如何,我假设你已经考虑过了。

在任何操作系统上,您都有一个可用于覆盖DNS名称解析的HOSTS文件。唯一的限制是您只能将IP而不是主机名映射到另一个主机名。但是,您可以将已映射到IP的主机名别名。例如,如果您添加以下

127.0.0.1    [ip address].hlrn.qwest.net

到您的HOSTS文件(顺便说一下,它位于Windows上的C:\WINDOWS\system32\drivers\etc\hosts)您的Java应用程序将开始仅与localhost建立连接。因此,您可以添加以下内容以重定向,并使您的Java应用程序连接到no-ip.biz

ip.add.re.ss    [sub-domain].no-ip.biz    [ip address].hlrn.qwest.net

要使此DNS进程自动化并重定向而不处理实际的IP并不容易,并且需要摆弄自己的DNS设置。

答案 1 :(得分:0)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class Conne {
    public static Connection GetConnection() throws ClassNotFoundException,SQLException
    {

        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://ip address /database name","username","password");
        return connection;
    }
}

创建此类后,您可以使用此类的引用或对象进行连接....我认为这将对您有所帮助..... :) :)