SpringBoot整合Mybatis之Oracle数据库JDBC连接配置介绍

Oracle数据库是一个关系数据库,可用于存储,使用和修改数据。该Java应用程序使用Java数据库连接(JDBC)标准来访问和操作关系数据库中的数据。JDBC是Sun Microsystems开发的行业标准应用程序编程接口(API),允许您在Java代码中嵌入SQL语句。JDBC基于X / Open SQL调用级接口(CLI)并遵守 SQL-92标准的入门级别。每个供应商(如Oracle)都通过实现标准java.sql软件包的接口来创建其JDBC实现。Oracle建议使用JDBC Thin Driver满足大多数要求。只有OCI特定的功能才需要JDBC-OCI。 

Oracle JDBC Thin瘦驱动程序

JDBC Thin Driver是一个纯Java, Type IV驱动程序。它支持Java TM 2 Platform Standard Edition 5.0,也称为Java Development Kit(JDK)5。它还包括对JDK 6的支持。它独立于平台,不需要任何其他Oracle软件进行客户端应用程序开发。JDBC Thin Driver使用SQL * Net与服务器通信以访问Oracle数据库。

JDBC Thin Driver允许通过提供Oracle的纯Java实现直接连接到数据库 网络协议(双任务通用,也称为TTC协议,和 SQL *网络)。司机支持TCP / IP协议,需要透明网络基板(TNS)侦听器在数据库服务器上的TCP / IP套接字上。Thin驱动程序可以在任何具有合适Java虚拟机(JVM)的计算机上运行。

Oracle JDBC OCI驱动程序

JDBC OCI驱动程序是与Java应用程序一起使用的Type II驱动程序。它需要一个Oracle客户端安装。它支持所有已安装的Oracle Net适配器,包括进程间通信(IPC),命名管道,TCP / IP和InternetworkPacket Exchange /顺序包交换(IPX /SPX)。

OCI是一种API,使您可以创建使用本机过程或函数调用的应用程序。JDBC和OCI驱动程序用Java和C的组合编写,将JDBC调用转换为对OCI的调用。它通过使用本机方法调用C-entry点来实现此目的。这些调用使用SQL * Net与数据库通信。

--数据库名
select name from v$database;

--实例名
select instance_name from v$instance;

--数据库域名
select value from v$parameter where name = 'db_domain';

--数据库服务名
select value from v$parameter where name = 'service_names'; 

从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。

ORACLE提供了两套Java访问Oracle数据库方式:oci和thin。

thin是一种瘦客户端的连接方式,采用这种连接方式不需要安装oracle客户端,只要求classpath中包含jdbc驱动的jar包就行。thin就是纯粹用Java写的ORACLE数据库访问接口。

#thin驱动连接

#服务名SERVICE_NAME方式连接
jdbcUrl:jdbc:oracle:thin:@//127.0.0.1:1521/ORCL

#实例名INSTANCE_NAME(SID)方式连接
jdbc:oracle:thin:@127.0.0.1:1521:ORCL

#RAC方式(老的写法)
jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORCL)))

oci是一种胖客户端的连接方式,采用这种连接方式需要安装oracle客户端。oci是Oracle Call Interface的首字母缩写,是ORACLE公司提供了访问接口,就是使用Java来调用本机的Oracle客户端,然后再访问数据库,优点是速度快,但是需要安装和配置数据库。

#oci驱动连接
jdbc:oracle:oci:@ORCL

实例测试,如下application-datasource.properties部分配置参数:

#外部数据源配置-oracle
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
#服务名SERVICE_NAME方式连接
#spring.datasource.url=jdbcUrl: jdbc:oracle:thin:@//127.0.0.1:1521/ORCL
#实例名INSTANCE_NAME(SID)方式连接
#spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
spring.datasource.url=jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORCL)))
spring.datasource.username=scott
spring.datasource.password=tiger

你可能感兴趣的:(数据库,Oracle,Spring,Boot,Java,oracle入门笔记)