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 ...
随机推荐
- [Leetcode Week8]Triangle
Triangle 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/triangle/description/ Description Given a t ...
- Google Breakpad: 实战crash .
Google Breakpad: 实战crash . http://blog.csdn.net/zm_21/article/details/24795205 C/C++程序最棘手的时候就是一个字“挂” ...
- HTML5-坦克大战一完成坦克上下左右移动的功能(一)
坦克大战一完成坦克上下左右移动的功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- idea打包jar的多种方式,用IDEA自带的打包形式,用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包,用Maven插件maven-assembly-plugin打包
这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-a ...
- docker从零开始网络(七) 配置daemon和容器
启用IPv6支持 在Docker容器或swarm服务中使用IPv6之前,需要在Docker守护程序中启用IPv6支持.之后,您可以选择将IPv4或IPv6(或两者)与任何容器,服务或网络一起使用. 注 ...
- Spring源码 之环境搭建
1.安装gitHub 在官网https://desktop.github.com/下载githubsetup.exe,在线安装总是出错,试了几次后不成功就放弃了.不知道是不是网络的原因. 后来在网上找 ...
- laravel获取checkbox值的小技巧
以前老是用三元运算符来判断,现在有了更好的方法: 1.html代码 <input type="hidden" name="approved" value= ...
- 离线安装docker最新版,记得要以下三个包。
如果安装了以前版本,还要删除以下这个包. container-selinux.noarch 2:2.10-2.el7 ============== 离线安装三个rpm -rw-r--r--. 1 ro ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(7)-屏幕布局的最佳实践
管理多个屏幕 我们的菜单屏有2个按钮,一个play一个option.option里就是一些开关的设置,比如音乐音效等.这些设置将会保存到Preferences中. 多屏幕切换是游戏的基本机制,Libg ...
- Burpsuite使用技巧
在bp任意窗口中,选中需要转码的字符串,按ctrl+b,则可以被转换成base64编码