JDBC连接Oracle数据库

来源:互联网 发布:软件过了试用期 编辑:程序博客网 时间:2024/06/05 00:44
本案例使用的JDBC驱动类型是:本地协议驱动
JDBC 连接Oracle数据库需要的数据:


驱动程序包名:ojdbc14.jar (在自己的项目中创建一个libs文件夹存放该包,并进行配置:右键包点击Build Path 接着点击Add toBuild Path就可以完成配置)
驱动类的名字:oracle.jdbc.driver.OracleDriver
JDBC URL:jdbc:oracle:thin:@dbip:port:databasename

JDBC URL中各个部分含义如下:
dbip –为数据库服务器的IP地址,如果是本地可写:localhost或127.0.0.1。
port –为数据库的监听端口,需要看安装时的配置,缺省为1521。
databasename –为数据库的SID,通常为全局数据库的名字。

注:驱动程序包名有可能会变


连接步骤:
1.加载驱动
2.建立连接
3.执行SQL语句

4.关闭连接

示例代码:

package com.hcq.main;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;//加载驱动方式一要导入的java包//import oracle.jdbc.OracleDriver;public class Main3 {/** JDBC连接数据库案例 *//** 数据库的属性信息 */// 数据库的主机 IP地址private static String IP = "127.0.0.1";// 数据库端口号private static String PORT = "1521";// 数据库名private static String DB_NAME = "test";// 数据库 URLprivate static String URL = "jdbc:oracle:thin:@" + IP + ":" + PORT + ":" + DB_NAME;// 数据库连接用户名private static String USER = "scott";// 用户密码private static String PSW = "tiger";public static void main(String[] args) {Connection conn = null;Statement st = null;try {/** 第一步:加载驱动 ;加载驱动有三种方式 */// 方式一// DriverManager.registerDriver(new OracleDriver());// 方式二Class.forName("oracle.jdbc.OracleDriver");// 新版本写法,9i之后新版本推荐// Class.forName("oracle.jdbc.driver.OracleDriver");// 兼容9i之前的版本。// 方式三:自动加载/** 第二步:建立连接 */// 获取连接conn = DriverManager.getConnection(URL, USER, PSW);/** 第三步:连接成功后,获取Statement对象, 得到一个可以执行sql语句的声明 */st = conn.createStatement();// 编写sql语句(本案例使用的数据表为Oracle自带的数据表)String sql = "SELECT empno,ename,job,sal,deptno FROM emp  WHERE deptno = 30";// 执行sql语句,返回一个结果集ResultSet rs = st.executeQuery(sql);// rs.next() 判断是否有下一行数据,并且将游标移至下一行,返回类型为boolean类型while (rs.next()) {// 得到每一列的信息可以使用列名或者列的编号查询int empno = rs.getInt(1);// 效率比较高// int empno=rs.getInt("empno");String ename = rs.getString(2);String job = rs.getString(3);double sal = rs.getDouble(4);int deptno = rs.getInt(5);System.out.println("编号:" + empno + "\t姓名:" + ename + "\t职位:" + job + "\t薪水:" + sal + "\t部门:" + deptno);}rs.close();// 释放结果集资源} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {if (st != null) {try {/** 第四步:sql语句执行完应该释放 Statement 资源 */st.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {/** 第五步:释放连接资源 */conn.close();} catch (SQLException e) {e.printStackTrace();}}}}}

结果: