Java读取配置文件连接数据库

目录

引言

在Java开发中,连接数据库是一项常见的任务。为了保持代码的灵活性和可维护性,我们通常将数据库连接的相关配置信息保存在一个单独的配置文件中,以便在需要时进行修改,而无需修改源代码。本文将介绍如何使用Java读取配置文件并连接数据库。

整体流程

首先,让我们来看一下整个过程的流程图。

步骤 描述
1. 创建配置文件 创建一个文本文件,用于保存数据库连接的配置信息。
2. 读取配置文件 使用Java代码读取配置文件中的内容。
3. 连接数据库 使用读取到的配置信息来建立数据库连接。

具体步骤

接下来,我们将详细介绍每个步骤应该怎么做,并给出相应的代码示例。

1. 创建配置文件

首先,我们需要创建一个文本文件,用于保存数据库连接的配置信息。我们可以使用常见的文件扩展名,例如.properties.conf。以下是一个示例配置文件的内容:

# 数据库连接配置
db.host = localhost
db.port = 3306
db.name = mydatabase
db.username = myuser
db.password = mypassword

在上述示例中,我们定义了数据库的主机名、端口号、数据库名、用户名和密码。这些配置信息将在后续步骤中使用。

2. 读取配置文件

接下来,我们需要使用Java代码读取配置文件中的内容。Java提供了java.util.Properties类来方便地读取.properties文件。下面是一个示例代码片段,展示了如何读取配置文件中的属性:

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class ConfigReader {
    public static void main(String[] args) {
        Properties properties = new Properties();
        try {
            // 加载配置文件
            properties.load(new FileInputStream("config.properties"));

            // 读取属性值
            String host = properties.getProperty("db.host");
            String port = properties.getProperty("db.port");
            String dbName = properties.getProperty("db.name");
            String username = properties.getProperty("db.username");
            String password = properties.getProperty("db.password");

            // 打印属性值
            System.out.println("Host: " + host);
            System.out.println("Port: " + port);
            System.out.println("Database Name: " + dbName);
            System.out.println("Username: " + username);
            System.out.println("Password: " + password);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们首先创建了一个Properties对象,然后使用load()方法加载配置文件。接着,我们使用getProperty()方法根据属性名获取属性值,并将其打印到控制台上。

3. 连接数据库

最后,我们将使用读取到的配置信息来建立数据库连接。下面是一个使用java.sql包中的DriverManager类来连接MySQL数据库的示例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnector {
    public static void main(String[] args) {
        Properties properties = new Properties();
        try {
            // 加载配置文件
            properties.load(new FileInputStream("config.properties"));

            // 读取属性值
            String host = properties.getProperty("db.host");
            String port = properties.getProperty("db.port");
            String dbName = properties.getProperty("db.name");
            String username = properties.getProperty("db.username");
            String password = properties.getProperty("db.password");

            // 构建数据库连接URL
            String url = "jdbc:mysql://" + host + ":" + port + "/" + dbName;

            // 连接数据库
            Connection connection = DriverManager.getConnection(url, username, password);

            // 打印连接状态
            System.out.println("Database Connected: " + !connection.isClosed());

            // 关闭数据库连接
            connection.close();
        } catch (IOException | SQLException e) {
            e