我需要从Java程序中连接我的MySQL数据库,因为我必须使用JDBC。
我需要为它提供必要的连接参数。我必须将这些参数存储在一个单独的配置文件中,以便在执行期间作为参数传递给Java程序。已提供示例db.properties
文件供我参考。该文件的五行对应于数据库的主机,端口,数据库名称,用户名和密码。我需要根据您的个人系统设置更改参数。
我该如何处理?如何连接MySQL数据库?
基本上,我有一个createdb.sql文件。我必须在mysql中运行该文件。它将创建一个数据库。现在我需要填充数据库。我有两个输入文件。我需要在java中编写一个程序,它将输入数据文件的名称作为命令行参数,解析文件,并通过JDBC将包含在其中的数据填充到数据库中答案 0 :(得分:10)
您可以将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
答案 1 :(得分:3)
首先,您需要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。你需要理解这个概念!