【发布时间】:2015-09-19 11:40:34
【问题描述】:
这是我的 JavaSE 应用程序的数据库类。
public class db {
static Connection c;
public static Connection Get_Connection() throws ClassNotFoundException,SQLException {
if (c == null) {
String ip = "";
String port = "";
String username = "";
String password = "";
try {
BufferedReader br = new BufferedReader(new FileReader(System.getProperty("user.home") + "/ConnectionSettings.txt"));
ip = br.readLine();
port = br.readLine();
username = br.readLine();
password = br.readLine();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
Class.forName("com.mysql.jdbc.Driver");
c = DriverManager.getConnection("jdbc:mysql://" + ip + ":"+port + "/mydb", username, password);
}
return c;
}
我知道这不是一个好习惯。我正在从C:/.. 中保存的文本文件中获取 IP 地址、数据库密码和端口。
我的问题是,如果我想将项目联网,可以在这个 db 类中提供服务器机器的 IP 地址吗?
如果不告诉我为什么,以及如何将 JavaSE 应用程序联网?
您可以在链接中提供答案。
我应该使用哪些框架来将应用程序联网?
hibernate 可以解决这个问题吗?
【问题讨论】:
-
这里的“网络”是什么意思?是与其他开发者协调项目代码吗?
-
不,我的意思是数据库应该在另一台电脑上
-
提供配置的最佳位置是 app/web 容器。您可以配置数据源(或数据库)并使用其 JNDI 从您的代码中引用它。检查why-use-jndi-for-data-sources、Looking Up the Data Source Using JNDI To Obtain a Connection 和jndi-resources-howto。
-
通常最好使用主机名,甚至是服务器的别名。这样做的原因是无需更改代码即可更改机器。在大公司中,通常很难用新服务器替换旧服务器并保留其 IP。主机名和别名可以轻松地从旧服务器移动到潜在的新服务器