需要在netbeans中的运行时(前端)提供动态主机名,用户名和密码

时间:2015-09-11 17:41:23

标签: java jdbc netbeans connection

我正在尝试使用netbeans创建一个java应用程序。我想在运行时输入JDBC连接详细信息(类名,主机名,用户名和密码),以便应用程序更有效。有没有办法做到这一点?

如果没有netbeans,那么可以在eclipse中完成吗?

通过动态输入,主机名,我的意思是JDBC类名,主机名和端口以及用户名,密码。我的主要目标是从前端(java应用程序本身)输入这些值。可以吗?或者我听说过配置文件,如果前端不可能,有人可以告诉我们如何使用这些配置文件并使用这些配置文件吗?

1 个答案:

答案 0 :(得分:0)

当然可以,但它与您的IDE无关。诀窍是确保依赖项始终传递给需要它们的对象。它被称为inversion of control

这是一个以DataSource作为依赖关系的示例。

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);

如果您的用户确实知道连接细节,我只会采用这种方法。将它们隐藏在配置文件中通常更有价值。