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包,示例如下:

在这里插入图片描述程序运行可能会出现以下问题: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:SIDString 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 blocke.printStackTrace();}try {if (conn != null) {conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}// 关闭资源的操作public static void closeResource(Connection conn, PreparedStatement ps, ResultSet rs) {try {if (ps != null) {ps.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if (conn != null) {conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if (rs != null) {rs.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.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);}}
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微波功率计/频率计-87234系列USB峰值/平均功率计

仪器仪表 苏州新利通 87234系列 USB峰值/平均功率计 频率范围覆盖:50MHz~67GHz 一款基于USB 2.0接口的二极管检波式宽带功率测量仪器 国产思仪功率计 01 产品综述 87234D/E/F/L USB峰值/平均功率计是一款基于USB 2.0接口的二极管检波式宽带功率测…

PowerShell无人参与安装最新版本SQL Server Management Studio (SSMS)

文章目录 下载SQL Server Management Studio (SSMS)Power Shell实现无人安装推荐阅读 下载SQL Server Management Studio (SSMS) SSMS 19.2 是最新的正式发布 (GA) 版本。 如果已经安装了 SSMS 19 预览版,需要在安装 SSMS 19.2 之前将其卸载。 如果安装了 SSMS 19.…

负载均衡Ribbon和Feign的使用与区别

Ribbon 的介绍 Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。主要功能是提供客户端的软件负载均衡和服务调用。Ribbon 客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer…

JVM基础- 垃圾回收器

基本介绍 Java虚拟机(JVM)中的垃圾回收器是用来自动管理内存的关键组件。它负责识别并回收不再使用的内存,从而防止内存泄漏。不同的JVM实现提供了多种垃圾回收器,每种回收器都有其特定的使用场景和性能特点。以下是一些常见的JV…

【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏2(附项目源码)

文章目录 先看看最终效果前言生成走廊生成房间修复死胡同增加走廊宽度获取走廊位置信息集合方法一方法二 源码完结 先看看最终效果 前言 上期已经实现了房间的生成,本期紧跟着上期内容,生成走廊并结合上期内容生成连通的房间。 生成走廊 修改Procedur…

集成多元算法,打造高效字面文本相似度计算与匹配搜索解决方案,助力文本匹配冷启动[BM25、词向量、SimHash、Tfidf、SequenceMatcher]

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

zabbix的安装配置,邮件告警,钉钉告警

zabbix监控架构 zabbix优点 开源,无软件成本投入server对设备性能要求低支持设备多,自带多种监控模板支持分布式集中管理,有自动发现功能,可以实现自动化监控开放式接口,扩展性强,插件编写容易当监控的item…

力扣C++学习笔记——C++ 给vector去重

要使用std::set对std::vector进行去重操作,您可以将向量中的元素插入到集合中,因为std::set会自动去除重复元素。然后,您可以将集合中的元素重新存回向量中。以下是一个示例代码,演示如何使用std::set对std::vector进行去重&#…

Linux系统编程 系统编程概念

1.系统调用 系统调用(system call)其实是 Linux 内核提供给应用层的应用编程接口(API),是 Linux 应用层进入内核的入口。不止 Linux 系统,所有的操作系统都会向应用层提供系统调用,应用程序通过…

为什么Transformer模型中使用Layer Normalization(Layer Norm)而不是Batch Normalization(BN)

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

GCC 学习

GCC Resource Center for GCC Internalshttps://www.cse.iitb.ac.in/grc/这是个不错资料网站,有兴趣的可以了解下

本地搭建Stackedit Markdown编辑器结合内网穿透实现远程访问

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器,在GitHub上拥有20.7k Star!,它支持将Markdown笔记保…

AR远程辅助技术应用到气象部门有何好处?

随着科技的不断发展,人类对于自然环境的理解和掌控能力也在不断提升。其中,AR(增强现实)技术的应用,为气象监控带来了革命性的变化。AR气象远程监控,就是将AR技术与气象监控相结合,通过虚拟与现实的融合,实…

Hive安装配置 - 本地模式

文章目录 一、Hive运行模式二、安装配置本地模式Hive(一)安装配置MySQL1、删除系统自带的MariaDB2、上传MySQL组件到虚拟机3、在主节点上安装MySQL组件4、在主节点上配置MySQL(1)查看MySQL服务状态(2)查看M…

蓝桥杯每日一题2023.11.18

题目描述 蓝桥杯大赛历届真题 - C 语言 B 组 - 蓝桥云课 (lanqiao.cn) 题目分析 本题使用搜索,将每一个格子进行初始赋值方便确定是否为相邻的数,将空出的两个格子首先当作已经填好数值为100,此时从第一个格子右边的格子开始搜索&#xff…

实在智能出席山东省数据科学大会,构建产学研教数智创新生态

11月18日至19日,由山东大学、山东省科学技术协会、山东省大数据局主办的首届“山东省数据科学大会暨泰山科技论坛”在山东大学(中心校区)隆重召开,以“数聚慧能 科创未来”为主题,来自全国各地的高校、科研机构、企事业…

电脑上可以写便签的软件哪些界面比较可爱且好用?

电脑上可以安装使用的便签类软件比较多,在选择使用电脑便签软件时,很多人对便签的外观界面还是比较在意的,一个好看的便签界面在一方面可以引起大家的注意,另一方面可以增加电脑桌面背景和便签类软件的协调性。 电脑便签软件通常…

每日一练:X加上100为完全平方数,再加上168任然为完全平方数

题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 实现方式1 解题思路 设整数为x,根据题意建立方程:   (1) x 100 是一个完全平方数,即存在整数a满…

JavaWeb开发——文件上传

1 简介 文件上传:将本地图片、视频、音频等文件上传到服务器,供其他用户浏览或下载的过程 文件上传涉及到两部分:前端程序 服务端程序 前端程序 【三要素】:① 需要定义一个form 表单,且表单里需定义一个类型为“ …