当前位置:首页 > Java

java如何连接oracle数据库

2026-03-17 20:26:47Java

使用JDBC连接Oracle数据库

确保已安装Oracle JDBC驱动(如ojdbc8.jarojdbc10.jar),驱动需添加到项目依赖中。以下是连接步骤:

1. 加载驱动类

Class.forName("oracle.jdbc.driver.OracleDriver");

2. 建立数据库连接 使用DriverManager.getConnection()方法,需提供URL、用户名和密码:

String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
String username = "your_username";
String password = "your_password";
Connection connection = DriverManager.getConnection(url, username, password);
  • URL格式说明:jdbc:oracle:thin:@host:port:SID(或服务名替换SID)

使用连接池(以HikariCP为例)

1. 添加依赖 Maven项目中需包含:

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>5.0.1</version>
</dependency>
<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.9.0.0</version>
</dependency>

2. 配置连接池

HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:ORCL");
config.setUsername("your_username");
config.setPassword("your_password");
config.setMaximumPoolSize(10);

HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();

异常处理与资源释放

1. 使用try-with-resources 确保连接、Statement和ResultSet自动关闭:

try (Connection conn = DriverManager.getConnection(url, user, pass);
     Statement stmt = conn.createStatement();
     ResultSet rs = stmt.executeQuery("SELECT * FROM employees")) {
    while (rs.next()) {
        System.out.println(rs.getString("employee_name"));
    }
} catch (SQLException e) {
    e.printStackTrace();
}

2. 手动关闭资源 若未使用try-with-resources,需在finally块中关闭:

Connection conn = null;
try {
    conn = DriverManager.getConnection(url, user, pass);
    // 执行操作
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    if (conn != null) {
        try { conn.close(); } 
        catch (SQLException e) { e.printStackTrace(); }
    }
}

常见参数配置

1. 连接超时设置

config.setConnectionTimeout(30000); // 30秒

2. 验证连接有效性

config.setConnectionTestQuery("SELECT 1 FROM DUAL");

3. 使用TNS别名连接 URL格式:

java如何连接oracle数据库

String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=servicename)))";

注意事项

  • 生产环境避免硬编码凭据,建议使用配置文件或环境变量。
  • SID与服务名不同,需根据Oracle版本选择正确标识。
  • 防火墙需开放1521端口(默认监听端口)。

标签: 数据库java
分享给朋友:

相关文章

如何用java

如何用java

用Java实现基础功能 Java是一种广泛使用的编程语言,适用于开发各种应用程序。以下是几个常见功能的实现方法。 打印"Hello, World!" public class HelloWorl…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…