开发者学堂课程【Java 高级编程:连接 oracle 数据库】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/433
连接 oracle 数据库
如何通过 JDBC 连接 Oracle 的数据库:
具体内容:
本次将基于 Oracle 的数据库来实现,JDBC 的编程实现,那么在这样的情况下,请一定要保证已经成功的启动了 Oracle 数据库的两个服务:数据监听服务、(listene)实例服务(SID)。
在管理当中我们找到服务,在服务里面我们能够找到监听,其中有两幅,oracleoradb11g_home1TnNSlListenner 以及 oracleservicemldm 这两副要手动启动,如果不启动,程序则无法使用上,但是需要注意的是,这两副启动完后也并不是可以直接连接了。
由于本次将直接利用 JDBC 进行 oracle 数据库的连接,所以必须保证你的系统之中已经配置了 oracle 的驱动程序,驱动程序的配置分两种情况
情况一
如果你现在使用了记事本进行程序编写,则需要将其手工配置到 classpath 之中,比如说我们找到一个操作跟上一个环境,这么这个地方有一个 classpath ,第二个就是我们的程序路径,这个程序在我们安装目录之中,找到我们 oracle 之中的安装程序包,这个地方是有它的程序路径的,我们找到 6 ,它就是我们的驱动程序路径,
oracle 驱动程序路径:D:\app\mldn\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar; 那么就要在系统中将路径配置到 classpath 之中,这样才能在本机命令行方式进行编写,但是这种方式对于 lips 是无效的,所以需要第二种情况。
情况二
基于 Eclipse 开发,所以需要在 JavaBuilderPath 上配置此驱动程序,我们找到Eclipse,将属性,buildpath,classpath,加入扩展架,把代码放进去就可以完成了
然后将路径复制过来,正常开发情况下,建议我们用第二种做法,用 class 配置非常复杂,我们现在一个包,但是可能以后会有上百个包,用 class 下来就非常麻烦,
如果现在要连接 Oracle 数据库,则必须采用如下的步骤进行处理
1、保证情况正常的情况下,通过反射机制加载数据库驱动程序类:Oracle JDBC 程序下有一个 Oracle driver,是驱动程序,通过反射机制加载数据库驱动程序类: Oracle.jdbc.driver.oracledriver
2、数据库的连接需要有一个网络的连接地址,该地址结构如下,地址结构:jdbc:Oracle:thin:@主机名称:端口号:SID。
MLDN 数据库:jdbc:Oracle:thin:@localhost:1521:mldn 也可以直接写 IP 地址,这就是数据库的连接地址,static final sting 跟上database,找到 UR,但是只靠连接地址不行,我们还需要数据库的用户名:Scott 数据库的密码:tiger 问题是连接怎么做。
对于数据库的连接,提供有 java.sql.drivermanager 的数据类,利用此类中的方法可以获取一个 connection 的接口对象。
3、获取 connection 的接口对象,找到 drivermanager,用此方法直接跟上连接对象,接入地址,用户以及密码。
范例:实现具体的数据库连接操作,找到 connectionConn 表,每一个 connection的接口对象描述的就是一个用户连接,那么 Conn 就等于 drivermanager.getco,数据库的连接资源有限一定要关闭,这样就实现了一个数据库的连接处理,实验验证即可。
(如果此时在输出 connection 的接口对象的时候并没有任何的异常,那么就表示当前的 Oracle 数据库已经可以正常的连接了。)
但是这个时候肯定都在思考一个问题:
为什么要连接 Oracle 数据库的时候一定要单独配置数据库的驱动程序呢?
首先 JDBC 是一个操作标准,既然是标准,那么就证明里面是不牵扯到具体实现类,有数据库厂商来实现,下面将以上连接的过程通过类图的关系来进行描述,首先我们见到接口,将它取来,这个接口名字为 connection,每一个用户就是connection,这个 connection 一定允许实现自动关闭处理,我们跟上 autocloseable,在这个操作处理的时候,这个 connection 的连接对象被drivermanager 所获得,那 drivermanager 需要操作三项支持,分别是连接地址,用户名,密码。