Java笔记4:JDBC纯驱动方式连接Oracle
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的更多相关文章
- JDBC纯驱动方式连接MySQL
1 新建一个名为MysqlDemo的JavaProject 2 从http://dev.mysql.com/downloads/connector/j/中下载最新的驱动包. 这里有.tar.gz和.z ...
- java thin方式连接oracle数据库
本文主要描述通过thin方式连接oracle数据库 1.创建web project ,将D:\oracle\product\10.2.0\db_1\jdbc\lib(oracle安装目录)下的ojdb ...
- vc++用ADO方式连接oracle问题
今天装了个oracle客户端,准备写个访问远程oracle的程序.用的是vs2010,采用ADO的连接方法连接oracle,结果运行的时候总是报下面的错: 从提示可以看出是没有找到OraOLEDBup ...
- C# 多种方式连接Oracle。
废话不多说直接正题: 首先我们先在Oracle数据库下建了一个用户叫做lisi,密码为lisi,在这个用户下建立一张表叫做“USERS”,在这个表下新增三个数据. 方式一:利用OleDb连接Oracl ...
- java基础之JDBC八:Druid连接池的使用
基本使用代码: /** * Druid连接池及简单工具类的使用 */ public class Test{ public static void main(String[] args) { Conne ...
- java基础之JDBC七:C3P0连接池的使用
使用C3P0的前提是需要引入jar包 具体使用如下: /** * c3p0的应用 * 前提:引入c3p0的jar包 */ public class Test { public static void ...
- java笔记之变量的存储方式
1.java变量存储域 java变量的存储区域主要放在以下几个地方: (1)寄存器:可以说是最快的存储区,在C/C++中可以声明寄存器变量,但是在java中不能声明寄存器变量,只是编译器在编译时确定. ...
- java通过配置文件(Properties类)连接Oracle数据库代码示例
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java. ...
- Java JDBC连接Oracle
1. 安装Oracle数据库,我这里使用的是Oracle 12c 2. 创建Java工程 connection-oracle 注意:使用的JavaSE-1.8 3. 在Oracle的安装目录里,将dj ...
随机推荐
- python模拟鼠标和键盘操作
import win32api import win32con import win32gui from ctypes import * import time VK_CODE = { 'backsp ...
- selenium+python自动化79-文件下载(SendKeys)【转载】
前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...
- rest_frameword框架的基本组件
序列化 序列化:转化数据和校验数据(提交数据时校验数据类型) 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式.我们可 ...
- 离线安装docker最新版,记得要以下三个包。
如果安装了以前版本,还要删除以下这个包. container-selinux.noarch 2:2.10-2.el7 ============== 离线安装三个rpm -rw-r--r--. 1 ro ...
- POJ 2503.Babelfish-sscanf()函数+strcmp()函数+二分
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 44545 Accepted: 18803 Des ...
- CF 1005B Delete from the Left 【模拟数组操作/正难则反】
You are given two strings s and t. In a single move, you can choose any of two strings and delete th ...
- The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - L Doki Doki Literature Club
Doki Doki Literature Club Time Limit: 1 Second Memory Limit: 65536 KB Doki Doki Literature Club ...
- kattis Curious Cupid (莫队算法)
Curious Cupid There are K different languages in the world. Each person speaks one and only one lang ...
- 详细User-Agent大全
目录: Android: Android 0.* Android 1.* Android 2.* Android 3.* Android 4.* Windows Phone OS BlackBerry ...
- linux内核3.6版本及以下的bug引发的故障--cpu使用率100%
现象: 旗舰店运价库cpu使用率100%,load升高,导致后续的请求失败. 重启服务器,cpu.load恢复正常. 触发条件: (1)linux内核3. ...