关于驱动包依赖:

官网提供的地址:

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. 易盾逆向分析-知乎login

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...

  2. v-for 伪标签:template:

    根据一组数组或对象的选项列表进行渲染. v-for指令需要使用 (item,index) in 数组或对象 形式的特殊语法,同时还需要指定key值,key的作用在vue进行新旧数据比对渲染页面里,如果 ...

  3. INFINI Gateway 如何防止大跨度查询

    背景 业务每天生成一个日期后缀的索引,写入当日数据. 业务查询有时会查询好多天的数据,导致负载告警. 现在想对查询进行限制--只允许查询一天的数据(不限定是哪天),如果想查询多天的数据就走申请. 技术 ...

  4. 学习ThreeJS

    创建第一个应用 使用Three JS进行编程的时候,都是在调用new Three().XXX 来实现方法,让我们先根据官方文档创建一个demo https://threejs.org/docs/ind ...

  5. 微信支付普通商户与AppID账号关联管理-授权

    微信支付普通商户与AppID账号关联管理 二.名词解释 名词 释义 微信支付普通商户 公司企业.政府机关.事业单位.社会组织.个体工商户.个人卖家.小微商户.(微信支付商户接入指引) AppID 已通 ...

  6. 警告: BASE64Decoder是内部专用 API, 可能会在未来发行版中删除

    警告: BASE64Decoder是内部专用 API, 可能会在未来发行版中删除 import org.apache.commons.codec.binary.Base64; public class ...

  7. 谁是Po主?

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 谁是Po主? 日期:2018-6-25 阿珏 教程 浏览: ...

  8. 【Playwright+Python】系列教程(一)环境搭建及脚本录制

    前言 看到这个文章,有的同学会说: 六哥,你为啥不早早就写完python系列的文章. 因为有徒弟需要吧,如果你也想学自学,那这篇文章,可以说是我们结缘一起学习的开始吧! 如果对你有用,建议收藏和转发! ...

  9. sqlUtil

    package com.cmbchina.monitor.utils;import com.alibaba.druid.sql.ast.SQLStatement;import com.alibaba. ...

  10. HTTP常见状态及其含义

    HTTP常见状态及其含义 200: 请求成功 301: 被请求的资源已永久移动到新位置 302: 请求的资源现在临时从不同的URI响应请求 400: 1,语义有误当前请求无法被服务器理解2,请求参数有 ...