13.Oracle通过JDBC连接Java

Oracle通过JDBC连接Java

  • 一、什么是JDBC
  • 二、Oracle通过JDBC连接Java
    • 1、导入jar包
      • 1.1 下载jar包
      • 1.2 将jar包导入到java项目中
      • 1.3编译jar包
    • 2、连接数据库
      • 2.1 编写jdbc工具类
      • 2.2 对数据进行基本操作

一、什么是JDBC

  JDBC(Java Database Connectivity)是Java语言用于与数据库进行连接和交互的标准API。它提供了一种统一的方式来访问各种不同类型的数据库,包括Oracle、MySQL、SQL Server等。JDBC允许开发人员使用Java编程语言来执行SQL查询、更新数据库记录以及处理事务等操作。

在Oracle数据库中,使用JDBC可以通过以下步骤进行连接和操作:

  1. 加载数据库驱动程序:使用Class.forName方法加载特定数据库的JDBC驱动程序,例如oracle.jdbc.driver.OracleDriver

  2. 建立数据库连接:使用DriverManager.getConnection方法来获取与数据库的连接,需要提供数据库的URL、用户名和密码。

  3. 创建并执行SQL语句:使用StatementPreparedStatement对象来创建和执行SQL查询、插入、更新和删除等操作。

  4. 处理查询结果:对于SELECT语句,可以通过ResultSet对象获取查询结果,并进行相应的处理。

  5. 关闭数据库连接:在操作完成后,需要调用Connection对象的close方法来关闭数据库连接,释放资源。

  通过JDBC,开发人员可以在Java应用程序中轻松地与Oracle数据库进行交互,执行各种数据库操作。这使得Java应用程序能够与数据库进行无缝集成,实现数据的存储、检索和处理等功能。

二、Oracle通过JDBC连接Java

1、导入jar包

1.1 下载jar包

下载地址:https://www.oracle.com/cn/database/technologies/appdev/jdbc-downloads.html

根据自己的java环境下载相应的jar包,示例如下:

13.Oracle通过JDBC连接Java_第1张图片程序运行可能会出现以下问题:java.sql.SQLException: ORA-17056: 不支持的字符集(在类路径中添加 orai18n.jar): ZHS16GBK
因此还需添加以下jar包:

13.Oracle通过JDBC连接Java_第2张图片

下载地址https://mavenlibs.com/jar/file/com.oracle.database.nls/orai18n

1.2 将jar包导入到java项目中

直接将所下载的ojdbc.jar复制到java项目的lib目录下,如下图示例:

13.Oracle通过JDBC连接Java_第3张图片

1.3编译jar包

如下图示例:

13.Oracle通过JDBC连接Java_第4张图片

13.Oracle通过JDBC连接Java_第5张图片
13.Oracle通过JDBC连接Java_第6张图片

2、连接数据库

2.1 编写jdbc工具类

此类是为更方便操作数据库连接

package oracleConnection;

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

/**
 * 操作数据库的工具类
 * 
 * @author en
 *
 */
public class jdbcUtils {
	// 获取数据库连接

	public static Connection getConnection() throws Exception {
		// JDBC连接参数
		// 数据库连接字符串,格式为 jdbc:oracle:thin:@host:port:SID
		String jdbcUrl = "jdbc:oracle:thin:@192.168.66.120:1521:ORCL";
		// 数据库用户名
		String username = "test";
		// 数据库密码
		String password = "test";
		// oracle数据库驱动
		String diverClass = "oracle.jdbc.OracleDriver";

		// 2、加载驱动
		Class.forName(diverClass);

		// 3、获取连接
		Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
		return conn;
	}
	// 关闭连接和Statement的操作

	public static void closeResource(Connection conn, PreparedStatement ps) {
		try {
			if (ps != null) {
				ps.close();
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 关闭资源的操作
	public static void closeResource(Connection conn, PreparedStatement ps, ResultSet rs) {

		try {
			if (ps != null) {
				ps.close();
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

2.2 对数据进行基本操作

下面是一个简单的示例,演示了如何使用JDBC连接Oracle数据库进行相关的增删改操作:

package oracleConnection;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * JDBC连接Oracle数据库进行增删改查操作
 * 
 * @author wjw
 *
 */
public class controlData {

	public static void main(String[] args) {
		select();
	}

	// 查询表中数据
	public static void select() {

		Connection conn = null;
		ResultSet rs = null;
		PreparedStatement ps = null;
		
		try {
			// 连接数据库
			conn = jdbcUtils.getConnection();
		
			ps = conn.prepareStatement("select * from t");
			rs = ps.executeQuery();
			// 处理查询结果
			while (rs.next()) {
				// 从结果集中获取数据,例如:
				int id = rs.getInt("ID");
				String name = rs.getString("NAME");
				// 在这里处理数据
				System.out.println("ID: " + id + ", Name: " + name);
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			jdbcUtils.closeResource(conn, ps, rs);
		}
	}
}

运行结果如下:
13.Oracle通过JDBC连接Java_第7张图片

你可能感兴趣的:(oracle学习,oracle,java,数据库)