13.Oracle通过JDBC连接Java

oracle基础系统学习目录

01.CentOS7静默安装oracle11g
02.Oracle的启动过程
03.从简单的sql开始
04.Oracle的体系架构
05.Oracle数据库对象
06.Oracle数据备份与恢复
07.用户和权限管理
08.Oracle的表
09.Oracle表的分区
10.Oracle的同义词与序列
11.Oracle的视图
12.Oracle的索引
13.Oracle通过JDBC连接Java
14.Oracle中的事务
15.Oracle11g的归档方式和日志文件的相关操作
16.Oracle的数据字典和动态性能视图
17.Oracle11g的PL/SQL基础
18.Oracle的过程和函数
19.Oracle11g中的游标
20.Oracle11g中的触发器
21.Oracle的程序包(Package)
22.Oracle中的临时表空间
23.Oracle11g的UNDO表空间
24.Oracle11g的逻辑备份与恢复
25. Oracle的回收站
26.Oracle11g的数据装载
27.Oracle11g的闪回Flashback
28.Oracle11g物化视图


一、什么是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包,示例如下:

在这里插入图片描述程序运行可能会出现以下问题:java.sql.SQLException: ORA-17056: 不支持的字符集(在类路径中添加 orai18n.jar): ZHS16GBK
因此还需添加以下jar包:

在这里插入图片描述

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

1.2 将jar包导入到java项目中

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

在这里插入图片描述

1.3编译jar包

如下图示例:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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);
		}
	}
}

运行结果如下:
在这里插入图片描述

点击此处跳转下一节:14.Oracle中的事务

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Juvenile少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值