欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
java_JDBC編程

JDBC編程的基本步驟是設置數據源、加載JDBC驅動(dòng)器程序、指定數據庫、打開(kāi)數據庫連接、提交查詢(xún)、處理查詢(xún)結果等。

1.statement對象

private Map getsysIdAndNameMap(ConnectionManager cm){
  Connection conn = this.initNewConn(cm);
  Map<String,Long> map = new HashMap<String,Long>();
  ResultSet rs = null;
  Statement statement = null;
  try {
   String sql = "select t.sid,t.name from systeminfo t";
   statement = conn.createStatement();
   rs = statement.executeQuery(sql);
   while(rs.next()){
    Long id = rs.getLong("sid");
    String name = rs.getString("name");
    map.put(name, id);
   }
  } catch (Exception e) {
   System.out.println("獲取new系統表ID,名稱(chēng)鍵值對--SQL執行異常");
  }finally{
   try {
    rs.close();
    statement.close();
    conn.close();
   } catch (SQLException e) {
    System.out.println("獲取new系統表ID,名稱(chēng)鍵值對--關(guān)閉數據庫連接異常");
   }
   
  }
  return map;
 }
 

2:PreparedStatement

2.1.使用PreparedStatement進(jìn)行預編譯操作

在前面已經(jīng)學(xué)過(guò),Statement是一個(gè)實(shí)現Statement接口的類(lèi)的對象,用于將SQL語(yǔ)句發(fā)送到數據庫中。當一個(gè)Statement對象被創(chuàng )建時(shí),它提供了一個(gè)創(chuàng )建SQL查詢(xún)、執行該查詢(xún)和檢索返回結果的作用。

2.2.  PreparedStatement簡(jiǎn)介

PreparedStatement接口繼承自Statement,與Statement相比,PreparedStatement增加了在執行SQL調用之前,將輸入參數綁定到SQL調用中的功能。它用于執行帶或不帶輸入參數的預編譯SQL語(yǔ)句。因為PreparedStatement對象已編譯過(guò),所以執行速度要快于Statement對象。因此當需要多次調用一條SQL語(yǔ)句時(shí),可以考慮使用PreparedStatement接口。

PreparedStatement接口繼承了Statement的所有方法,同時(shí)還增加了一些方法,還更改了以下3個(gè)很重要的方法。

setXXX()

executeQuery()

executeUpdate()

其中setXXX()方法中的XXX指的是該參數對應的類(lèi)型。例如參數是String類(lèi)型,則方法為setString()。setXXX()方法有兩個(gè)參數,第1個(gè)參數是指要設置參數的位置,第2個(gè)是指要設置的具體值。還以開(kāi)始時(shí)舉的例子為例:

如果基本數據庫和驅動(dòng)程序在語(yǔ)句提交之后仍保持這些語(yǔ)句的打開(kāi)狀態(tài),則同一個(gè) PreparedStatement可執行多次。如果這一點(diǎn)不成立,那么試圖通過(guò)使用PreparedStatement 對象代替Statement對象來(lái)提高性能是沒(méi)有意義的。

2.3.使用示例

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//打開(kāi)數據庫連接,aaa為數據源名稱(chēng)
Connection con=DriverManager.getConnection("jdbc:odbc:aaa","","");
//提交查詢(xún) 
PreparedStatement ps=
con.prepareStatement("select * from emp where dal>?");
ps.setString(1,"2000");
ResultSet rs=ps.executeQuery();
//查看結果
System.out.println("empno\tempname\tjob\thiredate\tdal");
while(rs.next())

3:ResultSet 對象

ResultSet rs = stmt.executeQuery("select distinct logid from stat_data");
  rs.last(); //結果集指針知道最后一行數據
  int n = rs.getRow();
  System.out.println(n);
  rs.beforeFirst();//將結果集指針指回到開(kāi)始位置,這樣才能通過(guò)while獲取rs中的數據
  while(rs.next()){
   System.out.println(rs.getInt(1));
  }
 }

4事務(wù)操作:

1.  概述:

在jdbc的數據庫操作中,一項事務(wù)是由一條或是多條表達式所組成的一個(gè)不可分割的工作單元。我們通過(guò)提交commit()或是回滾rollback()來(lái)結束事務(wù)的操作。關(guān)于事務(wù)操作的方法都位于接口java.sql.Connection中。

2.  特點(diǎn):
★ 在jdbc中,事務(wù)操作缺省是自動(dòng)提交。也就是說(shuō),一條對數據庫的更新表達式代表一項事務(wù)操作,操作成功后,系統將自動(dòng)調用commit()來(lái)提交,否則將調用rollback()來(lái)回滾。
★ 在jdbc中,可以通過(guò)調用setAutoCommit(false)來(lái)禁止自動(dòng)提交。之后就可以把多個(gè)數據庫操作的表達式作為一個(gè)事務(wù),在操作完成后調用commit()來(lái)進(jìn)行整體提交,倘若其中一個(gè)表達式操作失敗,都不會(huì )執行到commit(),并且將產(chǎn)生響應的異常;此時(shí)就可以在異常捕獲時(shí)調用rollback()進(jìn)行回滾。這樣做可以保持多次更新操作后,相關(guān)數據的一致性,示例如下:

    try {

conn =

DriverManager.getConnection   

(jdbc:oracle:thin:@host:1521:SID,username,userpwd;

       conn.setAutoCommit(false);//禁止自動(dòng)提交,設置回滾點(diǎn)

       stmt = conn.createStatement();

stmt.executeUpdate(“alter table …”); //數據庫更新操作1

stmt.executeUpdate(“insert into table …”); //數據庫更新操作2

       conn.commit(); //事務(wù)提交

     }catch(Exception ex) {   

         ex.printStackTrace();

         try {

          conn.rollback(); //操作不成功則回滾

          }catch(Exception e) {

e.printStackTrace();

           }

}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
java中使用JDBC連接數據庫的步驟
java使用MySQL學(xué)習
java連接mysql數據庫詳細步驟解析
JDBC介紹
java面試④數據庫部分
Java的數據庫連接編程(JDBC)技術(shù)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久