前言


本文通过一个在Eclipse平台中搭建的小项目,在项目中使用一条静态命令来查询Oracle数据库测试用户“scott”下emp表中的几个字段,来学习JDBC连接数据库的方法。看完之后读者可以基本掌握JDBC-Oracle数据库连接方法,然后举一反三,学会使用使用JDBC连接其它数据库。

0.jdbc的连接步骤


①导入数据库的jdbc资源包(jar包)

②注册驱动

③建立数据库连接(Connection)

④准备SQL语句

⑤获取SQL语句发送器(Statement)

⑥发送并执行SQL语句,得到结果集(ResultSet)

⑦处理结果集

⑧关闭

1.导入资源包


从各数据库的安装目录中找到jdbc资源包,copy至需要的项目中。

以Oracle数据库为例

①以作者本机的Oracle安装地址作为参考,在“D:\Oracle\product\11.2.0\dbhome_1\jdbc\lib”下找到资源包,找到其中的“ojdbc6.jar”,复制到eclipse的项目中新建的lib文件夹中去。

②右键这个文件,选择Build Path->add to Build Path

然后就可以看到新增的资源包

2.注册驱动与建立数据库连接


①先用Class.forName()方式映射驱动类地址进来

②设置三个参数url、user、password

  • url中“固定格式为 ‘jdbc:数据库名:连接方式:@数据库地址:端口号:实例名’ ”
  • user表示访问数据库使用的用户名
  • password表示用户名对应的密码

③使用DriveManagement工具获得一个Connection(使用三参构造方法)对象

④设置完后可以使用使用print方法输出conn对象,能够正常输出说明连接建立成功

3.准备SQL语句


准备需要执行的SQL语句,这里我们用一句静态的SQL指令来说明。

String sql=”select empno,ename,hiredate form emp”; //注意引号里的sql命令不需要以分号结束

4.创建发送器Statement


发送器用来将需要执行的sql语句发送给数据库。

发送器由连接器对象调用方法创建:

Statement st = conn.createStatement();

5.发送SQL语句执行并返回执行后的结果集


结果集由发送器发送并执行SQL命令返回获得。

ResultSet rs = st.excuteQuery(sql); //参数sql为我们定义的sql语句

6.处理结果集


结果集中的数据存储在一个二维表中,我们需要输出其中的元素来得到相应的数据。

在ResultSet类中,使用next方法判断结果表是否还有下一行,如果有则返回true,否则返回false。

该表的光标只能迭代一次,也就是说这个二维表只能遍历一次。

使用循环+getXXX方法获得对应的数据类型的列值。

while(rs.next()) {

int empno=rs.getInt(1);

String ename=rs.getString(2);

Date hiredate=rs.getDate(3);//除了填列号还可以填列标签如这里可以填“hiredate”

System.out.println(empno+"\t"+ename+"\t"+hiredate);

}

其中Date导入的是java.sql.Date包

7.关闭流


关闭流需要反向关闭,不然会报异常。

rs.close();

st.close();

coon.close();

8.效果展示



结束分割线


JDBC-Oracle连接教程的更多相关文章

  1. jdbc oracle 连接串

    jdbc.url配置为: jdbc:oracle:thin:@xxx.xx.xx.xx:1521:orclpdb 报错: java.sql.SQLException: Listenerrefused ...

  2. jdbc oracle 连接字符串

    1.普通SID方式 jdbc:oracle:thin:username/password@x.x.x.1:1521:SID 2.普通ServerName方式 jdbc:Oracle:thin:user ...

  3. oracle 数据库安装及jdbc的连接

    今天,我在oracle的官网下载了数据库并进行安装,其中遇到一些问题,在此进行记录. 1.下载,之后,按照网上的教程进行安装,开始遇到 下载之后出现11g 出现ins13001环境不满足最低要求 这个 ...

  4. Java中通过JDBC远程连接Oracle数据库

    通过jdbc连接数据库,拢共分三步: 第一步:下载一个JDBC的驱动,然后把jar包扔到项目里并add to build path: 第二步:去本地oracle文件夹下找到“TNSNAMES.ORA” ...

  5. Oracle 12c JDBC方式连接PDB数据库

    1.配置监听 这里假定CDB数据库名为ORCL,PDB在CDB下面名称为PDBORCLlistener.ora添加(#后面为注释,不要添加进去) SID_LIST_LISTENER = (SID_LI ...

  6. Oracle JDBC 标准连接实例

    Oracle JDBC 标准连接实例 // 创建一个数据库连接 Connection con = null; // 创建预编译语句对象,一般用PreparedStatement不用Statement ...

  7. JDBC Oracle sys 用户连接

    Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( &quo ...

  8. jdbc之连接Oracle的基本步骤

    // 1.加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); // 2.获取数据库连接 Connection conn ...

  9. jdbc简单连接oracle数据库

    package com.shangsheng; import java.sql.*; public class UserOracle { public static void main(String[ ...

  10. JDBC快速入门教程

    JDBC是什么? JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API通常与数据库使用于: 连 ...

随机推荐

  1. 随机函数rand()与srand()

    一.int rand(void); 函数所在的头文件是stdlib.h: 其内部实现线性同除法,不是真正的随机数.通常rand()%x是指在x范围内取模,返回值0-x; 系统默认随机种子是1: 二.v ...

  2. this的学习

    面试经常被问到this的问题,每次回答都感觉回答的不尽人意,今天周六就在家好好研究this的问题 1.function定义的时候this的指向是无法确定的,执行function的时候才知道this的指 ...

  3. oracle问题 ORA-01843:not a valid month

    解决思路: 开始解决问题走了些弯路,搜了一些资料,结果大部分说的是修改会话的nls_date_language参数 可是线上正式项目,不能说改就改吧 就找其他方式解决 最终找到问题,to_date() ...

  4. 阻塞队列 - java基于链表的简单实现

    1.阻塞队列的原理 阻塞队列与普通队列的区别在于:阻塞队列为空时,从队列中获取元素的操作将会被阻塞,当队列为满时,往队列里添加元素的操作会被阻塞. 试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其 ...

  5. Burpsuite安全测试测试指导

    1    Burpsuite简介 Burpsuite是一款安全领域非常重要的Web扫描工具(或者说是平台),它用于攻击Web应用程序.在Burp Suite上集成了各种扫描工具插件,各个集成插件可以组 ...

  6. Python机器学习(基础篇---监督学习(线性分类器))

    监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的 ...

  7. day13 内置函数一

    见如下网址 https://www.processon.com/mindmap/5bdc3f49e4b0844e0bc6b5d3

  8. shell 统计字符串 字符个数

    统计“abbc”中“b”的个数 1:awknum=`echo abbc | awk -F"b" '{print NF-1}'` 2:trnum=`echo abbc | tr -c ...

  9. Linux文件属性描述

    mtime -- modify time 修改时间 硬链接硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名.再说白点,所谓链接无非是把文件名和计算机文件系统使用的节点号链接起来. ...

  10. JS查看对象属性的方式

    var person = { type: 'person', say: function(){ console.log("Hellow World!") } } //以person ...