通過JDBC操作ORACLE資料庫

來源:互聯網
上載者:User

在ECLIPSE 中的項目屬性的LIBRARY中匯入C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar

package jdbc;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

public class JdbcOracle {
  public static void main(String[] args) {

    /**URL格式:drivername:@driver_information
       1,drivername主要有以下兩種
       jdbc:oracle:thin (thin驅動程式)
       jdbc:oracle:oci (oci驅動程式)
       2,driver_information
       host_nameort:database_sid
     */

    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    String url = "jdbc:oracle:thin:@localhost:1521:ORADB";
    String username = "scott";
    String password = "tiger";
    try {

      /**一、註冊驅動程式
          方法一Class.forName("oracle.jdbc.OracleDriver";
       */

      DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

      //二、開啟資料庫連接
      /**方法一,使用oracle資料來源對象?
           oracle.jdbc.pool.OracleDataSource ds=new oracle.jdbc.pool.OracleDataSource();
          ds.setServerName("localhost";
          ds.setDatabaseName("ORADB";   //資料庫存名
          ds.setDriverType("oci";  //要使用的JDBC驅動程式(OracleDatasore的擴充)
          ds.setURL("jdbc:oracle:thin:@localhost:1521:ORADB"; //指定資料庫的URL(OracleDataSource的擴充)
          ds.setDataSourceName("";     //底層資料來源的名稱
          ds.setNetworkProtocol("tcp";//用於資料庫通訊的協議
          ds.setPortNumber(1521);//連接埠號碼
          ds.setUser("scott";
          ds.setPassword("tiger";
          Connection conn=ds.getConnection();
       */
      //方法二、使用Drivermanger

      conn = DriverManager.getConnection(url, username, password);

      //設定事務提交模式
      //conn.setAutoCommit(true);
      //若禁止了自動認可模式,那麼在關閉Connection對象時會執行一次自動隱式提交,以保證還沒有提交的所有DML語句被自動認可

      conn.setAutoCommit(false);

      //三、建立JDBC Statement對象

      stmt = conn.createStatement();

      //PreparedStatement pstmt=conn.prepareStatement("帶有參數的SQL語句";
      //CallableStatement cstmt=conn.prepareCall("調用預存程序的語句";
      //四、從資料庫擷取行
      /**select 語句用executeQuery()
          insert,update,delete語句用executeUpdate()
          若預先不知道要執行的SQL語句類型,那麼用execute()
       */

      rs = stmt.executeQuery("select id,name,age,sex,birth from employee";

//五、從資料庫擷取行

      while (rs.next()) {
        int id = rs.getInt("id";
        String name = rs.getString("name";
        int age = rs.getInt("age";
        String sex = rs.getString("sex";
        Date birth = rs.getDate("birth";
      }
      //rs.close();
      //六、向資料庫中添加行(註:月份的編碼是從0開始的,因此月份1代表2月)

      java.sql.Date date = new java.sql.Date(82, 10, 05);
      int i = stmt.executeUpdate("insert into employee values" +
                                 "(1,'qds',22,'1',TO_DATE(date,'YYYY,MM,DD'))";
      //七、修改資料中的行

      int j = stmt.executeUpdate("update employee set age=21 where id=1";
      //八、從資料庫中刪除行

      int k = stmt.executeUpdate("delete from employee set id=1";
      //九、處理資料庫的NULL值方法一:使用結果集對象的wasNull方法判斷

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/cyz1980/archive/2006/01/11/575929.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.