关于驱动包依赖:

官网提供的地址:

https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads.html

Maven仓库提供的:

https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8

看不懂版本命名规则,介绍信息中只有简单的几句兼容JDK版本就没有了。。。

先试试这个版本的:

<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.7.0.0</version>
<scope>test</scope>
</dependency>

测试类编写:

@Test
public void connectorTest() throws Exception{ Class.forName("oracle.jdbc.driver.OracleDriver");
// final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
final String URL2 = "jdbc:oracle:thin:@//127.0.0.1:1521/orcl";
final String USERNAME = "system";
final String PASSWORD = "123456"; Connection connection = DriverManager.getConnection(URL2, USERNAME, PASSWORD);
System.out.println(connection);
connection.close();
}

发现也很简单,注册驱动包路径之后剩下的东西也是一样操作的

就是发现两个URL链接地址都是可以使用的。。。。

打印输出链接对象

oracle.jdbc.driver.T4CConnection@14bf9759

Process finished with exit code 0

连接参数解耦剥离:

【ojdbc.properties】

oracle.jdbc.DriverClass = oracle.jdbc.driver.OracleDriver
oracle.jdbc.Url = jdbc:oracle:thin:@//127.0.0.1:1521/orcl
oracle.jdbc.Username = system
oracle.jdbc.Password = 123456

链接工具类:

package cn.zeal4j.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties; /**
* @author Administrator
* @file Oracle-JDBC
* @create 2020 09 27 11:59
*/
public class OJdbcUtil {
private OJdbcUtil() {}
private static String driverClassName;
private static String connectUrl;
private static String username;
private static String password; static { try {
InputStream resourceAsStream = OJdbcUtil.class.getClassLoader().getResourceAsStream("ojdbc.properties");
Properties properties = new Properties();
properties.load(resourceAsStream); driverClassName = properties.getProperty("oracle.jdbc.DriverClass");
connectUrl = properties.getProperty("oracle.jdbc.Url");
username = properties.getProperty("oracle.jdbc.Username");
password = properties.getProperty("oracle.jdbc.Password"); Class.forName(driverClassName);
} catch (Exception e) {
e.printStackTrace();
}
} public static Connection getConnection() {
try {
return DriverManager.getConnection(connectUrl, username, password);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return null;
}
}

测试类:

@Test
public void connectorTest2() throws Exception{
Connection connection = OJdbcUtil.getConnection();
System.out.println(connection);
connection.close();
}

测试结果:

oracle.jdbc.driver.T4CConnection@553f17c

Process finished with exit code 0

【JDBC】Extra01 Oracle-JDBC的更多相关文章

  1. 【转】Install Oracle Jdbc driver in your Maven local repository

    Install Oracle Jdbc driver in your Maven local repository If you are using Oracle, you must first in ...

  2. 【Linux】将Oracle安装目录从根目录下迁移到逻辑卷

    [Linux]将Oracle安装目录从根目录下迁移到逻辑卷 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...

  3. 错误处理Cannot load JDBC driver class 'oracle.jdbc.drive

    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnec是由于<Resource name=&qu ...

  4. 【体系结构】有关Oracle SCN知识点的整理

    [体系结构]有关Oracle SCN知识点的整理 1  BLOG文档结构图   BLOG_Oracle_lhr_Oracle SCN的一点研究.pdf 2  前言部分 2.1  导读和注意事项 各位技 ...

  5. spring配置hibernate在使用oracle驱动时报错Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver '

    在看到这个错误的时候就感觉有点不对劲了,在错误的结尾和引号之间还有空间,如果敏锐的点应该察觉到可能是空格问题.由于本人的粗心导致这个问题一直困扰了我接近一个上午. 在排查这个问题的时候首先想到的就是关 ...

  6. 【转】JMeter 通过 JDBC 访问 Oracle 和 MySQL

    JMeter 的手册中描述了如何访问 MySQL,但是没有说明如何访问 Oracle.对于没有 Java 应用开发经验和对 Oracle 不是特别熟悉的朋友,可以参考这篇文章来简单.快速的配置好 JM ...

  7. 【转载】Java的JDBC事务详解

    转自:http://www.cnblogs.com/azhqiang/p/4044127.html 事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单 ...

  8. 【性能测试】:oracle数据库的监控方式

    一,[前提]:登陆操作系统后,需要切换到SQLPLUS的命令行模式:sqlplus / as sysdba 二,[监控步骤]:开始时执行一次:SQL>exec DBMS_WORKLOAD_REP ...

  9. 【转】解决Oracle 11g在用EXP导出时,空表不能导出

    一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 .insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segme ...

  10. 【ASM】介绍Oracle自带的一些ASM维护工具 (kfod/kfed/amdu)

    转自:http://blog.csdn.net/wenzhongyan/article/details/47043253 非常感谢作者的文章,很有价值!至此转载,非常感谢 1.前言 ASM(Autom ...

随机推荐

  1. 鸿蒙HarmonyOS实战-ArkTS语言基础类库(XML)

    前言 数据传输的数据格式有以下几种常见的格式: JSON(JavaScript Object Notation):JSON是一种轻量级的数据交换格式,可读性高且易于解析.它使用键值对的方式表示数据,并 ...

  2. Vulkan Support Check and Dynamic Loader C++ code sample

    很多时候不想静态依赖VulkanSDK所提供的静态库,因为会遇到一些过早的电脑不支持vulkan, 那么就需要使用动态加载vulkan-1.dll(for Windows)或libMoltenVK.d ...

  3. java多线程编程:你真的了解线程中断吗?

    java.lang.Thread类有一个 interrupt 方法,该方法直接对线程调用.当被interrupt的线程正在sleep或wait时,会抛出 InterruptedException 异常 ...

  4. Linux增加系统调用(亲测成功)

    我使用的操作系统是CentOS,其他的操作系统类似. 相关软件和Linux的基础操作这里不再赘述. 实验环境              VMWare Workstation.CentOS-7 实验步骤 ...

  5. 蚁群算法及 TSP 问题上的应用

    群智能(Swarm intelligence) 自然界动物群,称之为群. 群的特征: 相互作用的相邻个体的集合 个体的行为简单,既有竞争又有协作 智能化的集体行为(1+1>2): 个体间不仅能够 ...

  6. mysql多表删除指定记录

    在Mysql4.0之后,mysql开始支持跨表delete. Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录. 假定我们有两张表:Product表和 ...

  7. DAX 自动生成日期表-与订单表(业绩表)相同日期区间

    日期表 = ADDCOLUMNS ( CALENDAR (MIN('业绩表'[日期]), MAX('业绩表'[日期])), //关键在于MIN函数和MAX函数的使用 "年度", Y ...

  8. BTC交易流程

    交易流程 比特币的交易流程涉及多个步骤和参与方,包括发送方.接收方.矿工和比特币网络中的节点.以下是比特币交易的详细流程: 创建交易: 生成比特币地址:比特币地址是一个由公钥生成的字符串,用于接收比特 ...

  9. PaddleNLP UIE -- 药品说明书信息抽取(名称、规格、用法、用量)

    目录 创建项目 环境配置 上传代码 训练定制 代码结构 数据标注 准备语料库 数据标注 导出数据 数据转换 doccano Label Studio 模型微调 模型评估 定制模型--预测 效果 Pad ...

  10. 使用Terminal.Gui构建功能强大的.NET控制台应用

    前言 前段时间分享了一个库帮你轻松的创建漂亮的.NET控制台应用程序 - Spectre.Console的文章教程,然后就有小伙伴提问:.NET控制台应用需要应对强交互性的场景,有什么好的解决方案?, ...