Java连接Oracle数据库并查询

下面将详细讲解“Java连接Oracle数据库并查询”的完整攻略。

准备工作

在连接Oracle数据库之前,我们需要完成以下几项准备工作:

  1. 确保已经安装了 Java Runtime Environment(JRE),并设置了系统环境变量。
  2. 下载并安装 Oracle 数据库。
  3. 启动 Oracle 数据库,并创建一个测试用户。我们假设该用户的用户名为 testuser,密码为 testpass,它拥有一个测试表 test_table,其中包含若干行数据。

连接数据库

要连接 Oracle 数据库,需要使用 Java Database Connectivity(JDBC)API。JDBC 是 Java 用于与各种关系型数据库进行通信的一种标准。以下是连接 Oracle 数据库的步骤:

  1. 加载 JDBC 驱动程序。Oracle 提供了官方的 JDBC 驱动程序,可以从 Oracle 官网上下载并安装。我们假设安装了版本为 12c 的 JDBC 驱动程序。在代码中,可以使用 Class.forName() 方法加载驱动程序:
Class.forName("oracle.jdbc.driver.OracleDriver");
  1. 创建数据库连接。在连接数据库之前,需要指定数据库的 URL,用户名和密码。以下是一个数据库连接示例:
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
String user = "testuser";
String password = "testpass";
Connection conn = DriverManager.getConnection(url, user, password);

其中,url 是 Oracle 数据库的链接字符串,形如:jdbc:oracle:thin:@主机名:端口号:服务名。user 和 password 分别是连接 Oracle 数据库的用户名和密码。

  1. 创建 Statement 对象。Statement 对象用于向 Oracle 数据库发送 SQL 语句,并接收返回结果。以下是一个创建 Statement 对象的示例:
Statement stmt = conn.createStatement();

现在,我们已经成功连接 Oracle 数据库,并创建了一个 Statement 对象。接下来,我们可以向 Oracle 数据库发送 SQL 语句了。

发送 SQL 语句

以下是向 Oracle 数据库发送 SQL 语句的步骤:

  1. 构造 SQL 语句。SQL 语句是用于查询或操作数据库的命令。以下是一个查询语句的示例:
String sql = "SELECT * FROM test_table WHERE id > 10";
  1. 执行 SQL 语句。执行 SQL 语句可以使用 Statement 对象的 executeQuery() 方法。该方法返回一个 ResultSet 对象,其中包含 SQL 语句的结果集。以下是一个执行 SQL 语句的示例:
ResultSet rs = stmt.executeQuery(sql);
  1. 处理结果集。ResultSet 对象包含了 SQL 语句的结果集。我们可以使用 ResultSet 对象的各种方法,比如 getString()、getInt()、getFloat() 等,来获取结果集的数据。以下是一个处理结果集的示例:
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    float price = rs.getFloat("price");
    System.out.println("id: " + id + ", name: " + name + ", price: " + price);
}

在以上示例中,我们使用了 ResultSet 对象的 next() 方法遍历结果集的所有行,使用 getInt()、getString()、getFloat() 方法获取每行的数据,最后打印到控制台上。

示例代码

以下是一个完整的 Java 连接 Oracle 数据库并查询的示例:

import java.sql.*;

public class OracleDemo {

    public static void main(String[] args) {

        try {
            // 加载 JDBC 驱动程序
            Class.forName("oracle.jdbc.driver.OracleDriver");

            // 创建数据库连接
            String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
            String user = "testuser";
            String password = "testpass";
            Connection conn = DriverManager.getConnection(url, user, password);

            // 创建 Statement 对象
            Statement stmt = conn.createStatement();

            // 执行 SQL 语句
            String sql = "SELECT * FROM test_table WHERE id > 10";
            ResultSet rs = stmt.executeQuery(sql);

            // 处理结果集
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                float price = rs.getFloat("price");
                System.out.println("id: " + id + ", name: " + name + ", price: " + price);
            }

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

以上示例代码演示了如何连接 Oracle 数据库并查询一张表中 ID 大于 10 的记录。如果要查询其他条件的记录,只需修改 SQL 语句即可。

以下是另一个示例,演示了如何向 Oracle 数据库插入一条记录:

import java.sql.*;

public class OracleDemo {

    public static void main(String[] args) {

        try {
            // 加载 JDBC 驱动程序
            Class.forName("oracle.jdbc.driver.OracleDriver");

            // 创建数据库连接
            String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
            String user = "testuser";
            String password = "testpass";
            Connection conn = DriverManager.getConnection(url, user, password);

            // 创建 Statement 对象
            Statement stmt = conn.createStatement();

            // 执行 SQL 语句
            String sql = "INSERT INTO test_table (id, name, price) VALUES (4, 'Apple', 10.99)";
            int rows = stmt.executeUpdate(sql);
            System.out.println(rows + " rows affected");

            // 关闭连接
            stmt.close();
            conn.close();

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

以上示例代码演示了如何向 Oracle 数据库插入一条记录,该记录的 ID 为 4,名称为 Apple,价格为 10.99。如果要插入其他记录,只需修改 SQL 语句即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java连接Oracle数据库并查询 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • spring boot starter actuator(健康监控)配置和使用教程

    Spring Boot Starter Actuator配置和使用教程 Spring Boot Starter Actuator是Spring Boot提供的一个用于监控和管理应用程序的模块。它提供了许多有用的端点,例如/health、/info、/metrics等,可以帮助我们监控应用程序的健康状况、性能指标等。在本文中,我们将详细讲解Spring Boo…

    Java 2023年5月15日
    00
  • struts2入门(搭建环境、配置、示例)详解

    Struts2入门攻略 Struts2是一个基于MVC架构的Web应用程序开发框架。本攻略将介绍如何搭建Struts2开发环境、配置Struts2框架并开发示例项目。 环境搭建 首先,我们需要准备好开发环境: JDK:Java开发工具包,下载地址:https://www.oracle.com/technetwork/java/javase/downloads…

    Java 2023年5月20日
    00
  • Java中的继承是什么?

    Java中的继承是面向对象编程中很重要的一种机制。通过继承,我们可以创建一个新类,从已有的类中继承属性和方法,并且可以对这些属性和方法进行修改、扩展或重写。继承可以提高代码的复用性,减少代码冗余,简化程序设计。 Java中,继承是通过使用 extends 关键字来实现的。下面是一个简单的示例: public class Animal { public voi…

    Java 2023年4月27日
    00
  • java实现树形菜单对象

    实现树形菜单对象可以采用Java语言和基于树形结构的数据结构,下面是具体的实现攻略: 步骤一:创建树形结构的数据类型 树形菜单对象可以用树形结构数据类型表示,包括各个节点的名称、节点值、父节点、子节点等信息,这个数据结构可以通过类的形式实现: public class TreeNode { private String name; private Objec…

    Java 2023年5月26日
    00
  • 解决spring boot hibernate 懒加载的问题

    下面是“解决spring boot hibernate 懒加载的问题”的完整攻略。 1. 问题描述 在使用 Spring Boot 和 Hibernate 进行开发时,我们可能会遇到“懒加载”的问题。简单来说,当我们对一个已经持久化到数据库中的对象进行查询时,Hibernate 默认情况下是不会立即从关联对象中获取数据的,而是在真正需要使用数据的时候才会从数…

    Java 2023年5月20日
    00
  • Java中Lambda表达式基础及使用

    Java中Lambda表达式基础及使用攻略 什么是Lambda表达式? Lambda表达式是一个新的功能,它是Java 8版本新推出的,用于代替Java的传统匿名类,使代码更加简洁和易于阅读。Lambda表达式是一种匿名函数,可以传递给一个方法或存储在一个变量中,使用时就像调用一个方法一样。 Lambda表达式的语法 Lambda表达式是由参数列表、箭头符号…

    Java 2023年5月26日
    00
  • spring事务传播的Propagation.REQUIRES_NEW以及NEVER MANDATORY验证,及其失效的诡异问题

    NEVER 不使用事务,如果当前事务存在,则抛出异常 验证: @Service public class PrService { @Autowired PrDao dao; @Transactional public void savea() { dao.a();//保存第一条数据 saveb(); } @Transactional(propagation …

    Java 2023年5月8日
    00
  • VBS脚本病毒原理分析与防范

    VBS脚本病毒原理分析与防范 什么是VBS脚本病毒 VBS脚本病毒是指利用Visual Basic Script技术编写的一种病毒程序。它主要通过邮件附件、网络文件共享或恶意网站等途径感染计算机系统,从而破坏或窃取计算机系统的信息资料。 VBS脚本病毒的行为特点 VBS脚本病毒具有以下行为特点: 自我复制:VBS脚本病毒可以自我复制,并以各种形式传播。 隐蔽…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部