JDBC纯驱动方式连接Oracle

1 下载Oracle提供的驱动程序包

下载地址:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

下载哪个版本,跟你使用的JDK版本有关,比如使用JDK1.5,则下载ojdbc5.jar。若使用JDK1.6,则下载ojdbc6.jar。因为没有ojdbc7.jar或ojdbc8.jar,所以若使用JDK1.7或JDK1.8,也是下载ojdbc6.jar。

如果已经安装了Oracle服务器端或客户端,则无需再下载驱动程序包。Oracle服务器的JDBC驱动程序包目录位于$ORACLE_HOME\jdbc\lib下。

比如,笔者在D:\oracle目录下安装了Oracle 11g服务器端,则驱动程序包位于

D:\oracle\product\11.2.0\dbhome_1\jdbc\lib

2 将驱动程序包引入工程

笔者的集成开发环境用的是IntelliJIDEA 14.0.1,JDK的版本为1.7。则驱动程序包应该使用ojdbc6.jar。

(1)建立工程,工程名随意,比如MyJDBC。

(2)点击左上角菜单栏中的”File”à“ProjectStructure…”

(3)在弹出的界面中选择“Modules”à“Dependencies”à右侧的“+”按纽,在弹出的右侧的小窗口中选择第二个选项“Library…”

(4)在弹出的“Choose Libraries”窗口中,选择底部的“New Library”à”Java”,弹出”Select Library Files”窗口,

(5)找到D:\oracle\product\11.2.0\dbhome_1\jdbc目录,选择ojdbc6.jar

(6)选择好驱动程序包的界面如下图所示,点击底部的“Add Selected”按纽

(7)下图显示驱动程序包已经被添加到MyJDBC工程中,点击底部的“OK”按纽

(8)返回工程主界面,可以看到左下角除了JDK1.7外,ojdbc6.jar也被添加进来了

3 编写程序

建立一个Java类,名字随意,比如JdbcTest。其代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.util.Date;

public class JdbcTest{
    publicstatic void main(String[] args) {
        String driver = "oracle.jdbc.OracleDriver";    //驱动标识符
        
String url = "jdbc:oracle:thin:@localhost:1521:orcl"//链接字符串
        // url ="jdbc:oracle:thin:@10.0.30.64:1521:orcl";  // 连接远程的数据库可以这么写
        
String user = "scott";         //数据库的用户名
        
String password = "tiger";     //数据库的密码
        
Connection con = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;
        boolean flag = false;

try {
            Class.forName(driver);
            con = DriverManager.getConnection(url,user, password);
            String sql = "select * from emp";
            pstm =con.prepareStatement(sql);
            rs = pstm.executeQuery();
            while(rs.next()) {
                int empno = rs.getInt("empno");
                String ename =rs.getString("ename");
                double sal = rs.getDouble("sal");
                Date hiredate =rs.getDate("hiredate");
                int deptno = rs.getInt(("deptno"));
                System.out.println(empno +"\t"+ ename +"\t"+ sal +"\t"+ hiredate +"\t"+ deptno);
            }

flag = true;
        } catch(ClassNotFoundException e) {
            e.printStackTrace();
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
        finally {
            if(rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

// 关闭执行通道
            
if(pstm !=null) {
                try {
                    pstm.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

// 关闭连接通道
            
try {
                if(con != null &&(!con.isClosed())) {
                    try {
                        con.close();
                    } catch (SQLException e) {
                       e.printStackTrace();
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

if(flag) {
            System.out.println("执行成功!");
        } else {
            System.out.println("执行失败!");
        }
    }
}

4 运行结果

5 验证

登录数据库,查询scott.emp中的数据,可以看到相关的信息与上面的运行结果是一致的。

Java笔记4:JDBC纯驱动方式连接Oracle的更多相关文章

  1. JDBC纯驱动方式连接MySQL

    1 新建一个名为MysqlDemo的JavaProject 2 从http://dev.mysql.com/downloads/connector/j/中下载最新的驱动包. 这里有.tar.gz和.z ...

  2. java thin方式连接oracle数据库

    本文主要描述通过thin方式连接oracle数据库 1.创建web project ,将D:\oracle\product\10.2.0\db_1\jdbc\lib(oracle安装目录)下的ojdb ...

  3. vc++用ADO方式连接oracle问题

    今天装了个oracle客户端,准备写个访问远程oracle的程序.用的是vs2010,采用ADO的连接方法连接oracle,结果运行的时候总是报下面的错: 从提示可以看出是没有找到OraOLEDBup ...

  4. C# 多种方式连接Oracle。

    废话不多说直接正题: 首先我们先在Oracle数据库下建了一个用户叫做lisi,密码为lisi,在这个用户下建立一张表叫做“USERS”,在这个表下新增三个数据. 方式一:利用OleDb连接Oracl ...

  5. java基础之JDBC八:Druid连接池的使用

    基本使用代码: /** * Druid连接池及简单工具类的使用 */ public class Test{ public static void main(String[] args) { Conne ...

  6. java基础之JDBC七:C3P0连接池的使用

    使用C3P0的前提是需要引入jar包 具体使用如下: /** * c3p0的应用 * 前提:引入c3p0的jar包 */ public class Test { public static void ...

  7. java笔记之变量的存储方式

    1.java变量存储域 java变量的存储区域主要放在以下几个地方: (1)寄存器:可以说是最快的存储区,在C/C++中可以声明寄存器变量,但是在java中不能声明寄存器变量,只是编译器在编译时确定. ...

  8. java通过配置文件(Properties类)连接Oracle数据库代码示例

    import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java. ...

  9. Java JDBC连接Oracle

    1. 安装Oracle数据库,我这里使用的是Oracle 12c 2. 创建Java工程 connection-oracle 注意:使用的JavaSE-1.8 3. 在Oracle的安装目录里,将dj ...

随机推荐

  1. selenium自动化添加日志

    于logging日志的介绍,主要有两大功能,一个是控制台的输出,一个是保存到本地文件 先封装logging模块,保存到common文件夹命名为logger.py,以便于调用,直接上代码 filenam ...

  2. 用maven创建第一个SpringMVC

    首先创建一个maven项目,然后依次完成如下配置: 在pom.xml加入如下基础配置,利用maven加载我们所需要的jar: <project xmlns="http://maven. ...

  3. BZOJ1003: [ZJOI2006] 物流运输 trans

    物流运输--看了神犇的题解,就是dp+最短路,设f[i]为1~i天的最少花费,那么 dp[i]=min(cost[1,i],min{dp[j]+cost[j+1,i]+K,1≤j<i}) 就是从 ...

  4. JWT是什么?

    # 转载请留言联系 什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的 ...

  5. pipreqs------查找python项目依赖并生成requirements.txt

    项目开发的时候,总是要搭建和部署环境,这时,就需要一个python第三方包的list,一般叫做requirements.txt.如果项目使用virtualenv环境,直接使用pip freeze即可, ...

  6. AVR单片机中的EEPROM

    1.EEPROM介绍 Electrically Erasable Programmable Read Only Memory 电气可拭除可编程只读存储器 发展过程:ROM – > PROM –& ...

  7. RASscan

    内网端口极速扫描器 软件下载地址:https://github.com/RASSec/RASscan 命令: Python Rasscan.py 网络第一个ip 网络最后一个ip

  8. Android学习--广播机制

    广播机制简介 Android的广播可以分为两种类型的,标准广播和有序的广播: 标准广播:  是一种完全异步执行的广播,在广播发出去之后,所有的广播接收器几乎是同一时接收到这条广播. 有序广播:  是一 ...

  9. 带WHERE子句的UPDATE语句

    目前演示的几个UPDATE语句都是一次性更新所有行的数据,这无法满足只更新符合特定条件的行的需求,比如“将Tom 的年龄修改为12 岁”.要实现这样的功能只要使用WHERE 子句就可以了,在WHERE ...

  10. 金融应用,计算将来的学费 Exercise05_07

    /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:金融应用,计算将来的学费 * */ public class Exercise05_07 { public static vo ...