关于驱动包依赖:

官网提供的地址:

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. The requested operation cannot be completed because the connection has been broken

    具体报错 The requested operation cannot be completed because the connection has been broken. -- xxxForyy ...

  2. OAuth + Security - 2 - 资源服务器配置

    PS:此文章为系列文章,建议从第一篇开始阅读. 资源服务器配置 @EnableResourceServer 注解到一个@Configuration配置类上,并且必须使用ResourceServerCo ...

  3. 微服务引入swagger生成接口的json导入到yapi配置方法 数据管理 开启url导入

    微服务引入swagger生成接口的json导入到yapi配置方法 数据管理 开启url导入 yapi安装参考window10 yapi安装 swagger配置 及 Error: getaddrinfo ...

  4. radis简单学习笔记

    原来写接口只用了本机缓存cache 来学习一下radis,用法应该跟cache一样吧,为了配套负载均衡的多服务器是多个服务器都可以读取缓存 一.下载 找了好长时间 github有的时候能上有的时候就上 ...

  5. Unity网络通信系统设计

    Unity网络通信系统设计 Buffer报文 BufferEntity类作为报文基类的作用包括: 封装数据:BufferEntity类可以用来封装网络通信中的数据,方便在网络传输中进行处理和管理. 提 ...

  6. python-pytest:多进程、多线程执行用例

    准备工作: Python Package pytest-parallel-0.0.10: windows版本只能是0.0.10 pytest-xdist 这两个包都是基于pytest基础上,实现多进程 ...

  7. Python中multiprocessing.Pool进程池实现守护进程的方法

    前言 在multiprocessing.Process中可以使用p.daemon=True将子进程p设置为守护进程. 那么在multiprocessing.Pool进程池中怎么实现这个功能呢? 什么是 ...

  8. 基于 JuiceFS 构建高校 AI 存储方案:高并发、系统稳定、运维简单

    中山大学的 iSEE 实验室(Intelligence Science and System) Lab)在进行深度学习任务时,需要处理大量小文件读取.在高并发读写场景下,原先使用的 NFS 性能较低, ...

  9. sqlCel查询一个表中部分字段的数据后插入到另一个表中

    问题: 部门每天需要从后台系统将物流总表数据导出,Excel中整理出订单的物流发货渠道和发货时间,再手动导入到数据库中,整个过程不麻烦,但在Excel中比较繁琐. 需求: 将这个繁琐的过程变得更简单, ...

  10. yb课堂 视频详情页模块开发《三十八》

    CourseDetail基础模块开发 CourseDetail模块开发,拆分组件 CourseDetail.vue Header.vue Course.vue Tab.vue Summary.vue ...