欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用JDBC連接Oracle_MSSQL實(shí)例代碼

 更新時間:2014年01月03日 10:38:06   作者:  
這篇文章主要介紹了Java使用JDBC連接Oracle_MSSQL實(shí)例代碼,需要的朋友可以參考下

一、Statement

復(fù)制代碼 代碼如下:

import java.sql.*;

public class TestJDBC {

 public static void main(String[] args) {
  Connection oracle_conn = null;
  Statement oracle_stmt = null;
  ResultSet oracle_rs = null;

  Connection mssql_conn = null;
  Statement mssql_stmt = null;
  ResultSet mssql_rs = null;

  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl", "username", "password");

   oracle_stmt = oracle_conn.createStatement();

   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   mssql_conn = DriverManager.getConnection("jdbc:sqlserver://192.168.0.213:1433;DatabaseName=VIS", "username", "password");

   mssql_stmt = mssql_conn.createStatement();
   mssql_rs = mssql_stmt.executeQuery("select * from VideoBaseInfo");

   while(mssql_rs.next()) {
    System.out.println("正在插入VideoId:" + mssql_rs.getInt("VideoId") + "的記錄...");
    oracle_stmt.executeUpdate("insert into VIDEO_BASEINFO values("
      + mssql_rs.getInt("VideoId") + ",'"
      + mssql_rs.getString("VideoName") + "','"
      + mssql_rs.getString("VideoVersion") + "',"
      + mssql_rs.getInt("VideoMp4Items") + ","
      + mssql_rs.getInt("VideoRmvbItems") + ",'"
      + mssql_rs.getString("VideoAliasName") + "','"
      + mssql_rs.getString("VideoAge") + "'"
      + ")");
   }

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if(oracle_rs != null) {
     oracle_rs.close();
     oracle_rs = null;
    }

    if(oracle_stmt != null) {
     oracle_stmt.close();
     oracle_stmt = null;
    }

    if(oracle_conn != null) {
     oracle_conn.close();
     oracle_conn = null;
    }

    if(mssql_rs != null) {
     mssql_rs.close();
     mssql_rs = null;
    }

    if(mssql_stmt != null) {
     mssql_stmt.close();
     mssql_stmt = null;
    }

    if(mssql_conn != null) {
     mssql_conn.close();
     mssql_conn = null;
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }

}

二、PreparedStatement

復(fù)制代碼 代碼如下:

import java.sql.*;

public class TestPreparedStatement {

 public static void main(String[] args) {
  Connection oracle_conn = null;
  PreparedStatement oracle_stmt = null;
  ResultSet oracle_rs = null;

  Connection mssql_conn = null;
  Statement mssql_stmt = null;
  ResultSet mssql_rs = null;

  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   oracle_conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.215:1521:orcl", "username", "password");

   oracle_stmt = oracle_conn.prepareStatement("insert into Video_ItemInfo values(?, ?, ?, ?, ?, ?, ?, ?, ?)");

   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   mssql_conn = DriverManager.getConnection("jdbc:sqlserver://192.168.0.213:1433;DatabaseName=VIS", "username", "password");

   mssql_stmt = mssql_conn.createStatement();
   mssql_rs = mssql_stmt.executeQuery("select * from VideoItemInfo");

   while(mssql_rs.next()) {
    System.out.println("正在插入ItemIndex:" + mssql_rs.getInt("ItemIndex") + "的記錄...");
    oracle_stmt.setInt(1, mssql_rs.getInt("ItemIndex"));
    oracle_stmt.setInt(2, mssql_rs.getInt("VideoId"));
    oracle_stmt.setString(3, mssql_rs.getString("VideoItemName"));
    oracle_stmt.setString(4, mssql_rs.getString("VideoExtName"));
    oracle_stmt.setDouble(5, mssql_rs.getDouble("VideoSize"));
    oracle_stmt.setString(6, mssql_rs.getString("VideoPath"));
    oracle_stmt.setString(7, mssql_rs.getString("VideoType"));
    oracle_stmt.setDate(8, mssql_rs.getDate("VideoDate"));
    oracle_stmt.setString(9, mssql_rs.getString("ApplicationWay"));

    oracle_stmt.executeUpdate();
   }
   System.out.println("插入數(shù)據(jù)到Video_ItemInfo表中操作已完成!");
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if(oracle_rs != null) {
     oracle_rs.close();
     oracle_rs = null;
    }

    if(oracle_stmt != null) {
     oracle_stmt.close();
     oracle_stmt = null;
    }

    if(oracle_conn != null) {
     oracle_conn.close();
     oracle_conn = null;
    }

    if(mssql_rs != null) {
     mssql_rs.close();
     mssql_rs = null;
    }

    if(mssql_stmt != null) {
     mssql_stmt.close();
     mssql_stmt = null;
    }

    if(mssql_conn != null) {
     mssql_conn.close();
     mssql_conn = null;
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
}

三、CallableStatement

復(fù)制代碼 代碼如下:

import java.sql.*;
public class TestProc {

 /**
  * @param args
  */
 public static void main(String[] args) throws Exception {

  Class.forName("oracle.jdbc.driver.OracleDriver");
  Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
  CallableStatement cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
  cstmt.registerOutParameter(3, Types.INTEGER);
  cstmt.registerOutParameter(4, Types.INTEGER);
  cstmt.setInt(1, 3);
  cstmt.setInt(2, 4);
  cstmt.setInt(4, 5);
  cstmt.execute();
  System.out.println(cstmt.getInt(3));
  System.out.println(cstmt.getInt(4));
  cstmt.close();
  conn.close();
 }
}

四、Batch

復(fù)制代碼 代碼如下:

import java.sql.*;
public class TestBatch {


 public static void main(String[] args) throws Exception {
  Class.forName("oracle.jdbc.driver.OracleDriver");
  Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
  /*
  Statement stmt = conn.createStatement();
  stmt.addBatch("insert into dept2 values (51, '500', 'haha')");
  stmt.addBatch("insert into dept2 values (52, '500', 'haha')");
  stmt.addBatch("insert into dept2 values (53, '500', 'haha')");
  stmt.executeBatch();
  stmt.close();
  */

  PreparedStatement ps = conn.prepareStatement("insert into dept2 values (?, ?, ?)");
  ps.setInt(1, 61);
  ps.setString(2, "haha");
  ps.setString(3, "bj");
  ps.addBatch();

  ps.setInt(1, 62);
  ps.setString(2, "haha");
  ps.setString(3, "bj");
  ps.addBatch();

  ps.setInt(1, 63);
  ps.setString(2, "haha");
  ps.setString(3, "bj");
  ps.addBatch();

  ps.executeBatch();
  ps.close();

  conn.close();

 }
}

五、Transaction

復(fù)制代碼 代碼如下:

import java.sql.*;
public class TestTransaction {


 public static void main(String[] args) {

  Connection conn = null;
  Statement stmt = null;

  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:SXT", "scott", "tiger");

   conn.setAutoCommit(false);
   stmt = conn.createStatement();
   stmt.addBatch("insert into dept2 values (51, '500', 'haha')");
   stmt.addBatch("insert into dept2 values (52, '500', 'haha')");
   stmt.addBatch("insert into dept2 values (53, '500', 'haha')");
   stmt.executeBatch();
   conn.commit();
   conn.setAutoCommit(true);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch(SQLException e) {

   e.printStackTrace();

   try {
    if(conn != null)
    {
     conn.rollback();
     conn.setAutoCommit(true);
    }
   } catch (SQLException e1) {
    e1.printStackTrace();
   }
  }finally {
   try {
    if(stmt != null)
     stmt.close();
    if(conn != null)
     conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }  

 }

}

六、ScrollResultSet

復(fù)制代碼 代碼如下:

import java.sql.*;

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

  try {
   new oracle.jdbc.driver.OracleDriver();
   String url = "jdbc:oracle:thin:@192.168.0.1:1521:SXT";
   Connection conn = DriverManager
     .getConnection(url, "scott", "tiger");
   Statement stmt = conn.createStatement(
     ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_READ_ONLY);
   ResultSet rs = stmt
     .executeQuery("select * from emp order by sal");
   rs.next();
   System.out.println(rs.getInt(1));
   rs.last();
   System.out.println(rs.getString(1));
   System.out.println(rs.isLast());
   System.out.println(rs.isAfterLast());
   System.out.println(rs.getRow());
   rs.previous();
   System.out.println(rs.getString(1));
   rs.absolute(6);
   System.out.println(rs.getString(1));
   rs.close();
   stmt.close();
   conn.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
}

七、UpdateResultSet

復(fù)制代碼 代碼如下:

import java.sql.*;
public class TestUpdataRs {
    public static void main(String args[]){

 try{
     new oracle.jdbc.driver.OracleDriver();
     String url="jdbc:oracle:thin:@192.168.0.1:1521:SXT";
     Connection conn=DriverManager.getConnection(url,"scott","tiger");
     Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

     ResultSet rs=stmt.executeQuery("select * from emp2");

     rs.next();
     //更新一行數(shù)據(jù)
     rs.updateString("ename","AAAA");
     rs.updateRow();

     //插入新行
     rs.moveToInsertRow();
     rs.updateInt(1, 9999);
     rs.updateString("ename","AAAA");
     rs.updateInt("mgr", 7839);
     rs.updateDouble("sal", 99.99);
     rs.insertRow();
     //將光標(biāo)移動到新建的行
     rs.moveToCurrentRow();

     //刪除行
     rs.absolute(5);
     rs.deleteRow();

     //取消更新
     //rs.cancelRowUpdates();

   }catch(SQLException e){
     e.printStackTrace();
   }
    }
}

相關(guān)文章

  • JSP安全開發(fā)之XSS漏洞詳解

    JSP安全開發(fā)之XSS漏洞詳解

    XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意腳本代碼,而程序?qū)τ谟脩糨斎雰?nèi)容未過濾,當(dāng)用戶瀏覽該頁之時,嵌入其中Web里面的腳本代碼會被執(zhí)行,從而達(dá)到惡意攻擊用戶的特殊目的。
    2016-09-09
  • java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):算法

    java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):算法

    這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對廣大的程序愛好者有所幫助,同時祝大家有一個好成績,需要的朋友可以參考下,希望能給你帶來幫助
    2021-07-07
  • java中帶參數(shù)的try(){}語法含義詳解

    java中帶參數(shù)的try(){}語法含義詳解

    這篇文章主要介紹了java中帶參數(shù)的try(){}語法含義詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 深入淺析SpringBoot自動配置原理

    深入淺析SpringBoot自動配置原理

    本文給大家介紹SpringBoot自動配置原理解析,springboot使用的是2.3.1版本源碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • Spring?IOC容器Bean注解創(chuàng)建對象組件掃描

    Spring?IOC容器Bean注解創(chuàng)建對象組件掃描

    這篇文章主要為大家介紹了Spring?IOC容器Bean注解創(chuàng)建對象組件掃描,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • spring-cloud入門之eureka-client(服務(wù)注冊)

    spring-cloud入門之eureka-client(服務(wù)注冊)

    本篇文章主要介紹了spring-cloud入門之eureka-client(服務(wù)注冊),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 軟件開發(fā)基礎(chǔ)之設(shè)計模式概述

    軟件開發(fā)基礎(chǔ)之設(shè)計模式概述

    這篇文章介紹了軟件開發(fā)基礎(chǔ)之設(shè)計模式,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • 淺談maven 多環(huán)境打包發(fā)布的兩種方式

    淺談maven 多環(huán)境打包發(fā)布的兩種方式

    這篇文章主要介紹了淺談maven 多環(huán)境打包發(fā)布的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • SpringBoot啟動過程的實(shí)現(xiàn)

    SpringBoot啟動過程的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot啟動過程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring?Security內(nèi)置過濾器的維護(hù)方法

    Spring?Security內(nèi)置過濾器的維護(hù)方法

    這篇文章主要介紹了Spring?Security的內(nèi)置過濾器是如何維護(hù)的,本文給我們分析一下HttpSecurity維護(hù)過濾器的幾個方法,需要的朋友可以參考下
    2022-02-02

最新評論