国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
歡迎光臨 - 琳婕小筑-老貓的理想 - 通過JDBC操作ORACLE數(shù)據(jù)庫實(shí)例詳解 -
通過JDBC操作ORACLE數(shù)據(jù)庫實(shí)例詳解    [ 日期:2006-01-10 ]   [ 來自:zt ]

此例子采用JDBC2.0,和ORACLE9i數(shù)據(jù)庫。數(shù)據(jù)庫位于本機(jī)上。采用數(shù)據(jù)庫自帶的SCOTT模式。

內(nèi)附有詳細(xì)的注釋,我想我應(yīng)該不用多講了吧

import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.pool.OracleDataSource;

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

    /**URL格式:drivername:@driver_information
       1,drivername主要有以下兩種
       jdbc:oracle:thin (thin驅(qū)動程序)
       jdbc:oracle:oci (oci驅(qū)動程序)
       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 {

      /**一、注冊驅(qū)動程序
          方法一Class.forName("oracle.jdbc.OracleDriver";
       */

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

      //二、打開數(shù)據(jù)庫連接
      /**方法一,使用oracle數(shù)據(jù)源對象?
           oracle.jdbc.pool.OracleDataSource ds=new oracle.jdbc.pool.OracleDataSource();
          ds.setServerName("localhost";
          ds.setDatabaseName("ORADB";   //數(shù)據(jù)庫存名
          ds.setDriverType("oci";  //要使用的JDBC驅(qū)動程序(OracleDatasore的擴(kuò)展)
          ds.setURL("jdbc:oracle:thin:@localhost:1521:ORADB"; //指定數(shù)據(jù)庫的URL(OracleDataSource的擴(kuò)展)
          ds.setDataSourceName("";     //底層數(shù)據(jù)源的名稱
          ds.setNetworkProtocol("tcp";//用于數(shù)據(jù)庫通信的協(xié)議
          ds.setPortNumber(1521);//端口號
          ds.setUser("scott";
          ds.setPassword("tiger";
          Connection conn=ds.getConnection();
       */
      //方法二、使用Drivermanger

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

      //設(shè)置事務(wù)提交模式
      //conn.setAutoCommit(true);
      //若禁止了自動提交模式,那么在關(guān)閉Connection對象時會執(zhí)行一次自動隱式提交,以保證還沒有提交的所有DML語句被自動提交

      conn.setAutoCommit(false);

      //三、創(chuàng)建JDBC Statement對象

      stmt = conn.createStatement();

      //PreparedStatement pstmt=conn.prepareStatement("帶有參數(shù)的SQL語句";
      //CallableStatement cstmt=conn.prepareCall("調(diào)用存儲過程的語句";
      //四、從數(shù)據(jù)庫獲取行
      /**select 語句用executeQuery()
          insert,update,delete語句用executeUpdate()
          若預(yù)先不知道要執(zhí)行的SQL語句類型,那么用execute()
       */

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

//五、從數(shù)據(jù)庫獲取行

      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();
      //六、向數(shù)據(jù)庫中添加行(注:月份的編碼是從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‘))";
      //七、修改數(shù)據(jù)中的行

      int j = stmt.executeUpdate("update employee set age=21 where id=1";
      //八、從數(shù)據(jù)庫中刪除行

      int k = stmt.executeUpdate("delete from employee set id=1";
      //九、處理數(shù)據(jù)庫的NULL值方法一:使用結(jié)果集對象的wasNull方法判斷

      conn.commit();
      rs = stmt.executeQuery(
          "select id,type_id,prod_name from product where id=1";

      //此次假設(shè)type_id列為Null值
      System.out.println("id=" + rs.getInt("id");
      System.out.println("type_id=" + rs.getInt("type_id");
      if (rs.wasNull()) {
        System.out.println("type_id was null!";
      }
      System.out.println("prod_name=" + rs.getString("prod_name");

      //九、處理數(shù)據(jù)庫的NULL值方法二:使用JAVA包裝器類.因?yàn)镴AVA包裝器類可以賦于NULL值
      //java.lang.Integer typeId=(java.lang.Integer)rs.getObject("type_id";
      //System.out.println(typeId);此時typeId的值為Null
      //在向數(shù)據(jù)庫插入或更新某一行為NULL值時,也可以使用JAVA包裝器對象
      //java.lang.Double price=null;
      //int ii=stmt.executeUpdate("update products set price="+price+" where id=12";

      rs.close();

      //十,執(zhí)行數(shù)據(jù)定義語言語句(DDL:CREATE,ALTER,DROP)----采用execute()方法執(zhí)行DDL語句
      //執(zhí)行DDL語句會導(dǎo)致一次隱式提交,因此,如果你在發(fā)出DDL語句之前執(zhí)行了一些未提交的DML語句,那么這些DML語句將被提交

      boolean result = stmt.execute("create table customers(" +
          "id integer constraint customers_pK primary key," +
          "first_name varchar2(10) not null," +
          "last_name  varchar2(10) not null," +
          "dob        date," +
          "phone      varchar2(15)" +
          ""
          ;
      if (result == true) {
        System.out.println("The table has Created!";
      }
      else {
        System.out.println("The table hasn‘t Create";
      }
      //-------------------------------------------------------------------------   
    }
    catch (Exception e) {
      System.out.println("error: " + e);
      try {
        conn.rollback();
      }
      catch (SQLException sqle) {}
    }
    finally {

      try {
        if (rs != null)
          rs.close();
      }
      catch (SQLException sqle) {
        System.out.println("SQLState: " + sqle.getSQLState());
        System.out.println("SQLErrorCode: 錯誤代碼" + sqle.getErrorCode());
        System.out.println("SQLErrorMessage:錯誤情況的字符串 " + sqle.toString());
      }

      try {
        if (stmt != null)
          stmt.close();
      }
      catch (SQLException sqle1) {
        System.out.println("SQLState: " + sqle1.getSQLState());
        System.out.println("SQLErrorCode: 錯誤代碼" + sqle1.getErrorCode());
        System.out.println("SQLErrorMessage:錯誤情況的字符串 " + sqle1.toString());
      }

      try {
        if (conn != null)
          conn.close();
      }
      catch (SQLException sqle2) {
        System.out.println(sqle2.toString());
        System.out.println(sqle2.getSQLState());
        System.out.println(sqle2.getErrorCode());
      }

    }

  }
}

 



Tags:jdbc
相關(guān)日志:
JDBC連接數(shù)據(jù)庫經(jīng)驗(yàn)技巧集萃     2006-01-12 22:35   JAVA
JSP中SQL數(shù)據(jù)庫編程技術(shù)     2006-01-10 20:33   JAVA
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java中使用JDBC連接數(shù)據(jù)庫的步驟
JSP連接各類數(shù)據(jù)庫大全(上)
Jsp 連接 mySQL、Oracle 數(shù)據(jù)庫備忘(Windows平臺)
JDBC小知識點(diǎn)
ResultSet常用方法
JSP中早就有了類似.Net DataSet那樣的離線數(shù)據(jù)訪問了,拋棄ResultSet,擁抱Result吧!
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服