【问题标题】:How do I read a properties file and connect a MySQL database?如何读取属性文件并连接 MySQL 数据库?
【发布时间】:2010-11-03 08:58:30
【问题描述】:

我需要从 Java 程序中连接我的 MySQL 数据库,为此我必须使用 JDBC。

我需要为它提供必要的连接参数。而且我必须将这些参数存储在单独的配置文件中,以便在执行期间作为参数传递给您的 Java 程序。已向我提供了一个示例db.properties 文件供我参考。该文件的五行对应于数据库的主机、端口、数据库名称、用户名和密码。我需要根据您的个人系统设置更改参数。

我该如何进行呢?如何连接 MySQL 数据库?

基本上,我有一个 createdb.sql 文件。我必须在 mysql 中运行该文件。它将创建一个数据库。现在我需要填充数据库。我有两个输入文件。我需要在 java 中编写一个程序,将输入数据文件的名称作为命令行参数,解析文件,并通过 JDBC 将其中包含的数据填充到您的数据库中

【问题讨论】:

  • .. 不同的配置有不同的文件吗?
  • 倒带并解释更大的计划。有多少个数据库?在什么样的上下文中(普通可执行文件、webapp 等)?
  • 在数据库属性文件中指定本地数据库设置。
  • 基本上,我有一个 createdb.sql 文件。我必须在 mysql 中运行该文件。它将创建一个数据库。现在我需要填充数据库。我有两个输入文件。我需要在 java 中编写一个程序,将输入数据文件的名称作为命令行参数,解析文件,并通过 JDBC 将其中包含的数据填充到您的数据库中。

标签: java mysql jdbc


【解决方案1】:

您可以将db.properties 文件保存到外部固定位置,供以后访问以检索您的连接属性:

Properties props = new Properties();
FileInputStream in = new FileInputStream("/external/configuration/dir/db.properties");
props.load(in);
in.close();

String driver = props.getProperty("jdbc.driver");
if (driver != null) {
    Class.forName(driver) ;
}

String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");

Connection con = DriverManager.getConnection(url, username, password);

然后,在每个环境中,您都可以拥有数据库设置的不同副本,而无需更改应用程序文件(JAR、ER 或其他)。

示例数据库连接属性文件:

# Oracle DB properties
#jdbc.driver=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@localhost:1571:MyDbSID
#jdbc.username=root
#jdbc.password=admin

# MySQL DB properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/MyDbName
jdbc.username=root
jdbc.password=admin

【讨论】:

  • 我遇到了其他问题。你能给你的电子邮件ID吗?我可以把整个东西都发给你。Plz
  • 这不是它的工作方式 - 论坛外没有交流。发表你的问题,得到你的答案。就是这样。
【解决方案2】:

首先,您需要mysql jdbc connector。下载库并将 jar 添加到类路径中。

接下来的步骤(在您的应用程序中)是加载 jdbc 驱动程序创建连接

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
                  "jdbc:mysql://[host][:port]/[database]", username, password);

因此您必须读取配置文件,提取值并创建连接字符串(主机、端口、数据库部分)。


如果您使用 eclipse:在您的项目中创建一个“lib”文件夹,将 jar 复制到该文件夹​​,右键单击该 jar 并将其添加到构建路径。

如果您手动执行应用程序,并且您是这样做的:

java com.example.MyApplication

现在就这样做:

java -cp .;path/to/jarfile/connector.jar com.example.MyApplication

(我不确定lib是否命名为connector.jar,请在此处使用正确的文件名)

这里是tutorial on adding libraries aka "setting the classpath" for java and javac。你需要理解这个概念!

【讨论】:

  • 我已经下载了连接器,但知道在哪里添加 jar 到类路径?
  • @shilps 取决于您如何启动/运行/调试/编译等您的应用程序。你在用什么?
  • 先生,你能给我你的电子邮件ID吗?我想显示我的文件和数据?请...谢谢
猜你喜欢
  • 2013-09-10
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 2018-06-13
  • 2012-11-18
  • 1970-01-01
  • 2020-12-18
相关资源
最近更新 更多