我是 Java 编程新手。我有一个连接到我的数据库的 SQL 连接类。
我的导师审查了我的代码,他要求我“使用属性文件外部化字符串”。我不确定他的意思是什么以及如何去做。
我在网上对此进行了研究,发现了有关 Eclipse 向导和国际化的文章。这让我更加困惑。我不确定我是否应该遵循它。
我的 SQL Connection 类如下所示。
public class SQLConnection {
Connection conn = null;
public static Connection dbConnector() {
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:xxxdbnamexxx.db");
return conn;
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
return null;
}
}
}
我希望连接类能够像通常在字符串外部化后那样返回连接。
如果有帮助的话我会使用 Eclipse IDE。
最佳答案
你的导师意味着你的应用程序应该从属性文件(或类似文件)中获取字符串“jdbc:sqlite:xxxdbnamexxx.db”和可能的“org.sqlite.JDBC”,而不是将它们硬连接到你的代码中。
这将允许应用程序的用户连接到不同的数据库,而无需修改源代码。他们所需要做的就是修改包含配置属性的属性文件。
现在到底什么需要外部化还存在争议。需要考虑的一件事是,您的代码可能是特定于 SQLite 的,因为数据库始终是 SQLite,或者因为您依赖于特定于 SQLite 的 SQL 或行为。因此不清楚驱动程序类名("org.sqlite.JDBC"
)是否应该是一个参数。
有很多可能的方法来进行外部化,但简单的方法是使用 java.util.Properties 对象及其加载和保存方法;请参阅javadocs了解详情。
<小时/>这与国际化无关,国际化中应用程序根据应用程序运行的区域设置从“资源包”获取用户消息。
关于java - 如何外部化 SQL Connection 类中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56911779/