JDBC—–基礎–Java如何串連oracle

來源:互聯網
上載者:User

JDBC課程目標:
1、設計一個多層資料庫應用程式體繫結構
2、建立一個多層次的資料庫應用程式利用Java程式設計語言內容
和JDBC1.0的API
3、面對對象中關聯式資料庫設計
4、 介紹JDBC2.0的api以及JDBC的新功能

課程主要內容:
1、JDBC的概述

2、JDBC的使用

3、OOAD和資料庫的設計

4、 JDBC的進階部分

1、JDBC的概述
1)、ODBC(開放式資料庫互連)
微軟、C語言寫

2)、JDBC(Java資料庫連接)
SUN、純Java語言編寫

JDBC串連方式:
1、JDBC-ODBC橋驅動及ODBC驅動程式
    優點:
      只需要用戶端安裝對應的ODBC驅動
    缺點:
    1、執行效率低,不適合大資料量串連;
    2、必須在用戶端安裝ODBC驅動。

2、本地API部分Java驅動程式
    實現:1、安裝Java驅動程式
      2、安裝資料庫的用戶端
3、JDBC-Net 純Java驅動程式  oci
優點:可以適用於網路連接;
缺點:多一個中介軟體
4、本地協議純Java驅動程式    thin
優點:速度快、網路連接
缺點:根據不同的資料庫載入不同的資料庫驅動。

1995年SUN公司JavaONE大會
1、採用C語言開發的,指標
2、ODBC配置比較複雜,不適合Java語言的特性;
3、JDBC-ODBC橋驅動大部分只適合測試,並不能進行產品操作。

2、JDBC的使用
   使用java.sql:主要是進行資料庫連接的基本操作;
       javax.sql:對應Java應用程式對資料庫的進階操作。

   JDBC的串連步驟:
   1、註冊驅動
      建立驅動類型的對象;
      把這個對象註冊到相應的程式中。
      反射(得到一個類):
         1、Class c=類名.class
         2、類名.getClass();
     3、Class.forName(類全名);
      實現方式:
         1)、Class.forName("類全名");
     2)、Driver driver=new oracle.jdbc.driver.OracleDriver();

   2、建立串連
    Connection介面。
    Connection conn=DriverManager.getConnection(url);
    Oracle資料庫的url:
    jdbc:oracle:thin:@127.0.0.1:1521:XE
    jdbc:連線協定——進行JDBC的串連;
    oracle:串連的資料庫(子協議);
    thin:串連方式 (oci)
    @172.0.0.1=localhost:IP地址
    1521:連接埠號碼
    XE:資料庫名稱(select name from v$database)
    mySql串連資料庫
    類全名:com.mysql.jdbc.Driver
    URL:jdbc:mysql://localhost:3306/資料庫名
   

   3、建立Statement
    Statement 建立方式:conn.createStatement();
    作用:執行靜態SQL語句;
    execute(String sql);
    根據不同的SQL返回不同的結果;
    executeQuery(String sql);
    //進行查詢操作(select),返回一個結果集ResultSet
    executeUpdate(String sql);
    //進行更新操作(update,insert)
    //返回int類型的資料

   4、執行SQL語句
   5、處理結果集
   6、關閉串連

  使用的類或介面:
  Driver:所有的驅動程式必須實現的介面,類似於
  硬體中的需要安裝驅動。
  DriverManager:主要用於管理資料庫串連的驅動
  程式。
  Connection:用於Java應用程式和資料庫之間建立串連。

 

例子:-----------------》》》》

TestJdbc.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/*
 * 這是一個java 串連 oracle 的例子
 */
public class TestJdbc {

    public static void main(String[] args) {

        Connection conn=null;
        Statement st=null;
        try {
            //註冊驅動
            Class.forName("oracle.jdbc.driver.OracleDriver");
            //建立串連
            try {
                //XE是資料庫名字
                String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
                //system 是使用者名稱 123456 是密碼
                conn = DriverManager.getConnection(url,"system","123456");
                //建立statement
                st = conn.createStatement();
                //定義sql語句
                String sql="insert into test values(1,'name')";
                //執行sql語句  ,得到的是int類型
                int num =st.executeUpdate(sql);
                System.out.println("已成成功插入"+num+"條資料!");
            } catch (SQLException e) {
               
                e.printStackTrace();
            }
           
        } catch (ClassNotFoundException e) {
           
            e.printStackTrace();
        }finally{//異常處理..
            try {
                    if(conn !=null){//關閉串連
                    conn.close();
                    }
                    if(st!=null){
                        st.close();
                    }
                } catch (SQLException e) {
                   
                    e.printStackTrace();
                }
            }
        }
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.