java中的JDBC纯驱动方式连接Oracle数据库

复习专题 专栏收录该内容
32 篇文章 0 订阅

整理资料时,发现旧的文档,发上来记录一下。

java中的JDBC纯驱动方式连接Oracle数据库
一、下载数据库厂商提供的驱动程序包
二、将驱动程序包引入工程中,步骤如下
1、选中项目——单击右键——Build Path——Configure Build Path
在这里插入图片描述

2、在打开的构建路径对话框中,点击Libraries选项卡,然后点击Add External JARs…按钮在这里插入图片描述

3、选择ojdbc6.jar,然后点击“打开”在这里插入图片描述

4、可以看到驱动文件已经被添加到项目的库文件中,点击OK,添加驱动结束。
在这里插入图片描述

三、编程,通过纯Java驱动方式与数据库建立连接。
关键代码:jdbc:oracle:thin:@ip地址:监听端口:数据库sid
具体步骤如下:
1、导入数据库连接所需的包

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
2、定义连接所需的字符串

String driver=“oracle.jdbc.OracleDriver”;//驱动字符串
String url=“jdbc:oracle:thin:@localhost:1521:orcl11g”;//链接字符串
String user=“scott”;//用户名
String password=“tiger”;//密码

  1. 加载JDBC驱动程序
    Class.forName(driver);
    4、分配一个Connection对象
    Connection con=DriverManager.getConnection(url, user, password);
    完成以上步骤即可连接上数据库,为下一步操作数据库做好准备
    5、分配一个PreparedStatement对象,执行查询 SQL(DQL)语句
    String sql=“select * from emp”;
    PreparedStatement pstm=con.prepareStatement(sql);
    6从返回的ResultSet对象中检索数据,类似迭代器
    ResultSet rs=null;
    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);
    }
    7.按顺序依次关闭ResultSet对象,关闭PreparedStatement对象,关闭Connection对象

整理好所有源码如下:

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 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String driver = "oracle.jdbc.OracleDriver";// 驱动字符串
		String url = "jdbc:oracle:thin:@localhost:1521:orcl11g";// 链接字符串
		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);
			}
			flag=true;
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(rs!=null){
				
				try {
					rs.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			
		}
		//关闭执行通道
		if(pstm!=null){
		
			try {
				pstm.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		
		//关闭连接通道
		
			try {
				if(con!=null&&(!con.isClosed())){
					try {
						con.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				
}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		if(flag){
			System.out.println("执行成功!");
		}else{
			System.out.println("执行失败!");
		}
	}

}
  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值