我正在尝试使用netbeans制作java应用程序。我想在运行时输入JDBC连接细节(类名、主机名、用户名和密码),以便应用程序更有效。有什么办法吗?
如果在netbeans中没有,那么在eclipse中可以完成吗?
动态输入主机名,我指的是JDBC类名、主机名和端口以及用户名和密码。我的主要目标是从前端(java应用程序本身)输入这些值。这能做到吗?或者我听到配置文件,如果它不可能从前端,谁能告诉如何使用这些创建和使用这些配置文件?
当然这是可能的,而且这与您的IDE无关。诀窍在于确保依赖项总是传递给需要它们的对象。这叫做控制反转
下面是一个将数据源作为依赖项的例子。
public class DbAccessClass {
private final DataSource dataSource;
public DbAccessClass(DataSource dataSource) {
this.dataSource = dataSource;
}
public doSomething() {
dataSource.getConnection();
// use connection
}
}
然后你所要做的就是向用户呈现一个对话框,让他们输入这四个字符串并构造你的DataSource
,然后传递它来构造你的DbAccessClass
。下面是一个使用BasicDataSource的例子。
String driver = // get driver field value from UI
String url = // get url field from UI
String user = // get user field
String pass = // get pass field
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(pass);
new DbAccessClass(ds);
我只会在用户真正知道连接细节的情况下使用这种方法。通常将它们隐藏在配置文件中更有价值。