zoukankan      html  css  js  c++  java
  • 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_HOMEjdbclib下。

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

    D:oracleproduct11.2.0dbhome_1jdbclib

    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:oracleproduct11.2.0dbhome_1jdbc目录,选择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 +" "+ ename +" "+ sal +" "+ hiredate +" "+ 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中的数据,可以看到相关的信息与上面的运行结果是一致的。

  • 相关阅读:
    CORS实践
    xunsearch使用记录
    apk的php解析
    MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT
    企业图谱
    《软件需求工程》阅读笔记03
    2020年下半年学习进度12
    《软件需求工程》阅读笔记02
    2020年下半年学习进度11
    《软件需求工程》阅读笔记01
  • 原文地址:https://www.cnblogs.com/grimm/p/6732390.html
Copyright © 2011-2022 走看看