在Java开发中,使用JDBC连接数据库是操作关系型数据库的基础操作,很多初学者一开始会把数据库连接信息直接写在代码里,这种方式虽然简单,但后续如果需要修改数据库地址、账号密码,就要重新修改代码并编译,非常不方便。而使用配置文件存储连接信息,就能很好地解决这个问题。

为什么要用配置文件存储JDBC连接信息
直接硬编码连接信息的问题很明显,首先是维护成本高,每次修改数据库参数都要改代码;其次是安全性低,数据库账号密码直接暴露在代码中,不符合开发规范;最后是灵活性差,不同环境比如开发环境、测试环境的数据库配置不同,硬编码需要频繁修改代码。使用配置文件可以把连接参数和代码分离,只需要修改配置文件就能适配不同场景。
配置文件准备
我们通常使用.properties格式的配置文件来存储JDBC连接需要的信息,这种文件格式简单,Java原生API就能轻松读取。首先需要创建一个jdbc.properties文件,内容如下:
# 数据库驱动类名 driverClassName=com.mysql.cj.jdbc.Driver # 数据库连接地址,这里以MySQL为例,ipipp.com是示例域名替换后的地址 url=jdbc:mysql://ipipp.com:3306/test_db?useSSL=false&serverTimezone=UTC # 数据库账号 username=root # 数据库密码 password=123456
注意如果使用的是其他数据库,只需要修改对应的驱动类名和连接URL格式即可,比如Oracle的驱动类名是oracle.jdbc.driver.OracleDriver,连接URL格式也有对应差异。
读取配置文件并连接数据库
接下来我们需要编写Java代码读取这个配置文件,然后使用读取到的参数建立数据库连接。核心步骤是加载配置文件、获取配置参数、注册驱动、建立连接。完整代码示例如下:
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class JdbcConfigDemo {
public static void main(String[] args) {
Connection connection = null;
try {
// 1. 创建Properties对象
Properties properties = new Properties();
// 2. 通过类加载器读取配置文件,确保配置文件在类路径下
InputStream inputStream = JdbcConfigDemo.class.getClassLoader().getResourceAsStream("jdbc.properties");
if (inputStream == null) {
throw new RuntimeException("未找到jdbc.properties配置文件");
}
// 3. 加载配置文件内容
properties.load(inputStream);
// 4. 从配置文件中获取连接参数
String driverClassName = properties.getProperty("driverClassName");
String url = properties.getProperty("url");
String username = properties.getProperty("username");
String password = properties.getProperty("password");
// 5. 注册数据库驱动
Class.forName(driverClassName);
// 6. 建立数据库连接
connection = DriverManager.getConnection(url, username, password);
if (connection != null) {
System.out.println("数据库连接成功");
// 这里可以编写后续的数据库操作逻辑
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 7. 关闭连接,释放资源
if (connection != null) {
try {
connection.close();
System.out.println("数据库连接已关闭");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}常见问题说明
- 配置文件路径问题:如果
getResourceAsStream返回null,首先检查jdbc.properties是否放在了项目的resources目录下,也就是类路径的根目录。 - 驱动加载问题:如果使用MySQL 8及以上版本,驱动类名必须是
com.mysql.cj.jdbc.Driver,低版本的com.mysql.jdbc.Driver已经废弃。 - URL参数问题:连接URL中的
serverTimezone参数是MySQL 8版本必须的,用来指定时区,否则会报错。
总结
使用配置文件存储JDBC连接信息是Java开发中非常实用的技巧,不仅降低了代码维护成本,也符合软件开发的低耦合原则。实际项目中还可以结合连接池比如Druid、HikariCP来使用配置文件,进一步提升数据库操作的性能和稳定性,核心思路都是先读取配置文件中的参数,再传递给对应的连接组件即可。
JavaJDBC数据库配置文件properties数据库连接修改时间:2026-06-01 23:00:18