在测试中,我们常常需要连接Oracle数据库来进行查询对比。下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值。

  首先,java中如果要连接Oracle数据库,需要jdbc的jar包。下载地址:https://mvnrepository.com/artifact/ojdbc/ojdbc

  根据使用Oracle的方式,连接所使用的的Url为以下两种:

  Oracle URL:
  jdbc:oracle:thin:@HostName(or IP address):1521:SID
  jdbc:oracle:thin:@//HostName(or IP address):1521:SERVICENAME
  
  这里的参数thin表示小型驱动,HostName(or IP address):1521这个是指代Oracle数据库的具体网络位置。SID/ServiceName这个是指具体链接的数据库SID或者数据库的服务。
  在真正连接数据库之前,我们需要先注册一个驱动。
  

 try {
  Class.forName("oracle.jdbc.driver.OracleDriver");
}catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类,驱动加载失败!");

  这种方式是使用类加载的方式来注册驱动。

  当然,我们还可以使用新建OracleDriver对象的方式来注册驱动。

Driver driver = new OracleDriver();
DriverManager.deregisterDriver(driver);

  两种方式均可以,可以根据实际情况进行选择。

  接下来,我们就要获取Oracle数据库的链接。

connect = DriverManager.getConnection("jdbc:oracle:thin:@OracleDataBaseHost:1521:XE", "连接oracle数据库用户名", "用户名密码");

  如果使用的是driver对象注册的。可以使用下面的代码

Properties properties = new Properties();
properties.put("user", "oracle数据库用户名");
properties.put("password", "用户名密码");
connect = driver.connect("jdbc:oracle:thin:@localhost:1521:XE", properties);

  有了链接之后,我们就可以使用这个链接,来获取执行sql语句的对象。

statement = connect.createStatement();

  如果是driver对象的方式

PreparedStatement preState = connect.prepareStatement("select  * from tb1 where name = ?");

  再接下来,就是具体的执行sql的语句

resultSet = statement.executeQuery("select * from tb1");

  如果是PrepareStatement的对象,也是一样的。

ResultSet rs = preState.executeQuery();

  然后,根据得到的ReslutSet来对结果进行处理。

while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String wbsCode = rs.getString("wbscode");
System.out.println(id+" "+name+" "+ wbsCode); //打印输出结果集
}

  最后,逐一关闭链接的资源。不关闭的话会影响性能、并且占用资源。注意关闭的顺序,最后使用的最先关闭 !

try {
if (rs!=null) rs.close();
if (statement!=null) statement.close();
if (connect!=null) connect.close();
} catch (SQLException e) {
e.printStackTrace();
}

  这样,整体就完成了从Oracle数据库连接并读取数据的操作。

  
  

java连接Oracle数据库的操作说明的更多相关文章

  1. oracle入门(5)——java连接oracle数据库

    [本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...

  2. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  3. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  4. java连接oracle数据库的实现代码

    package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; impo ...

  5. java连接Oracle数据库实现增删改查并在Navicat中显示

    创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...

  6. Java连接Oracle数据库常用方法

    JDBC的六大步骤: 注册驱动 获取连接 获取执行sql语句对象 执行sql语句 处理结果集 关闭资源 oracle URL: jdbc:oracle:thin:@localhost:1521:SID ...

  7. 一个非常标准的Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...

  8. Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径 ->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择 “D:\Oracle\ap ...

  9. Java连接oracle数据库的OCI和THIN

    使用jdbc连接上oracle有两种方法: 1. 使用thin连接 由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与 ...

随机推荐

  1. [简短问答]LODOP打印不清晰

    用什么语句输出的:使用的的是什么语句输出的,是ADD_PRINT_TEXT纯文本,还是html的超文本. 超文本不清晰:如果用的是ADD_PRINT_HTML ,换成 ADD_PRINT_HTM试试, ...

  2. 如何确定垃圾?JVM GC ?

    如何确定垃圾? 正文 如何确定垃圾? 前面已经提到 JVM 可以采用 引用计数法 与 可达性分析算法 来确定需要回收的垃圾,我们来具体看一下这两种算法: 引用计数法 该方法实现为:给每个对象添加一个引 ...

  3. 用js实现promise

    /*       自定义promise         1. 执行MyPromise构造函数,要立即执行executor         2. promise实例对象,内部有三种状态          ...

  4. jmeter3.1连接数据库报错,ORA-00923: 未找到要求的 FROM 关键字

    Jmeter不仅仅可以测试接口,还可以对数据库进行压力测试.或者造数据. 准备工作:待测试数据库地址.用户名及其密码.Oracle驱动ojdbc14.jar 一.将ojdbc14.jar放至Jmete ...

  5. 六、spring之通过FactoryBean为ioc容器中添加组件

    前面我们已经介绍了几种为容器中添加组件的方法,今天一起学习通过FactoryBean添加组件的方法. 首先我们准备一个类,也就是我们需要注册进spring的ioc容器中的类 类Color: // 不必 ...

  6. PHP 获取星期

    <?php function getWeek($time = 0) { $week_array=array('日', '一', '二', '三', '四', '五', '六'); //先定义一个 ...

  7. Linux学习-防火墙-Selinux-配置本地YUM源

    关闭防火墙并设置开机不启动 systemctl status firewalld.service #查看firewalld状态systemctl stop firewalld #关闭systemctl ...

  8. while 语句的逻辑

    # i =3# username = '大天天'# password = 123# while i > 0:# name = input('请输入你的名字:')# i -= 1# if name ...

  9. DSP未来五大发展趋势

    在4G无线通信领域,数据吞吐量已经达到了3G时代的100到1000倍;在多媒体处理器领域,每天都有新的标准涌现出来;在更多其它DSP应用领域,密集的数据处理器需求不断给处理器设计团队带来新的挑战.随着 ...

  10. 树莓派raspberrypi系统安装docker以及编译nginx和php镜像

    前言 在树莓派中搭建php环境,按正常流程一般是直接在系统中apt-get install相关的软件,不过如果某天我想无缝迁移到另一个地方,就又得在重新安装一次环境.所以为了方便,就直接在树莓派中使用 ...