導航:首頁 > 編程語言 > javasql異常回滾嗎

javasql異常回滾嗎

發布時間:2024-01-28 12:40:26

1. java.sql.SQLException:The transaction is no longer active-status:'Rolled back.[Reason=Unknow]'.

事務已經被回滾了,所以你不能繼續操作了。。。說明如果你的資料庫操作一切正專常的情況下你應該不屬會出現任何問題,但是,如果一旦出現問題,回滾以後,你依然在用這個transaction進行資料庫的操作,這樣的代碼肯定是有問題的。
你去檢查下吧,如果出現回滾後,應該直接報錯。。。然後重新操作,重新begin transaction.

2. 常見JAVA運行時異常有哪些

1,java.lang.NullPointerException

這個異常的解釋是 "程序遇上了空指針 ",簡單地說就是調用了未經初始化的對象或者是不存在的對象,這個錯誤經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。

2,java.lang.ClassNotFoundException

異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可

3,java.lang.

這個異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了.

4,java.lang.NoSuchMethodError

方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。

5,java.lang.IndexOutOfBoundsException

索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,拋出該異常。

6,java.lang.NumberFormatException

數字格式異常。當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常。

7,java.sql.SQLException

Sql語句執行異常

8,java.io.IOException

輸入輸出異常

9,java.lang.IllegalArgumentException

方法參數錯誤

10java.lang.IllegalAccessException

無訪問許可權異常

(2)javasql異常回滾嗎擴展閱讀:

Java技術應用領域:

1、Android應用

許多的 Android應用都是Java程序員開發者開發。雖然 Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA游戲,這就使很多非編程人員都認識了JAVA。

2、在金融業應用的伺服器程序

Java在金融服務業的應用非常廣泛,很多第三方交易系統、銀行、金融機構都選擇用Java開發,因為相對而言,Java較安全 。大型跨國投資銀行用Java來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。

3、網站

Java 在電子商務領域以及網站開發領域占據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的 servlet,jsp和以struts為基礎的網站在政府項目中也經常被用到。例如醫療救護、保險、教育、國防以及其他的不同部門網站都是以Java為基礎來開發的。

4、嵌入式領域

Java在嵌入式領域發展空間很大。在這個平台上,只需130KB就能夠使用Java技術(在智能卡或者感測器上)。

5、大數據技術

Hadoop以及其他大數據處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。

6、高頻交易的空間

Java平台提高了這個平台的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由於這個原因,Java成為的程序員編寫交易平台的語言,因為雖然性能不比C++,但開發人員可以避開安全性,可移植性和可維護性等問題。

7、科學應用

Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。

3. Java對異常如何進行判斷和處理

try{
//操作資料庫來代碼

}catch(Exception e){
if(e.getMessage().indexOf("U_TEACHER")>0){
System.out.println("是關於自違反Oracle一個唯一性約束U_TEACHER");

}else if(e.getMessage().indexOf("U_ROOM")>0){
System.out.println("是關於違反Oracle一個唯一性約束U_ROOM");

}

}

4. JAVA JDBC事務提交的疑問。

>>啟動事務 conn.setAutoCommit();
這個不是啟動事務,而是設置事務是否自動提交,默認是自動提交,如果要手動控的話,寫成conn.setAutoCommit(false);

if(rs.next){
>>> ...執行更新
conn.commit();
}

這個也不對,RS不可能執更新操作。只能是查詢。

如果你進行了鎖表操作,那麼如果沒有commit()或rollbak()方法,是不會進行解鎖操作的。
下面給你些代碼段以做參考。

public class SQLCondition{
public ResultSet execuQuery(Connection conn) throws SQLException{
檢索操作.......
}
public int execuUpdate(Connection conn) throws SQLException{
更新操作.......
}
}

public class DBAccess(){
public void execute(){
SQLCondition condition = .....;
Connection conn = .....;
try{
conn.setAutoCommit(false); //設成非自動提交
condition.execuQuery(conn);
condition.execuUpdate(conn);
//如果操作成功會走到這一步,進行提交,可以解鎖
conn.commit();
}catch(SQLException){
//出現任何的SQL異常都可以捕捉到,進行事務回滾,也可以解鎖。
conn.rollbak();
}
}
}

>>自動默認是回滾事務?
默認的話,是執行一條就進行提交,如果錯了會回滾。

閱讀全文

與javasql異常回滾嗎相關的資料

熱點內容
mdfldf是什麼文件 瀏覽:569
文件在桌面怎麼刪除干凈 瀏覽:439
馬蘭士67cd機版本 瀏覽:542
javaweb爬蟲程序 瀏覽:537
word中千位分隔符 瀏覽:392
迷你編程七天任務的地圖怎麼過 瀏覽:844
word2003格式不對 瀏覽:86
百度雲怎麼編輯文件在哪裡 瀏覽:304
起名app數據哪裡來的 瀏覽:888
微信怎麼去泡妞 瀏覽:52
百度廣告html代碼 瀏覽:244
qq瀏覽器轉換完成後的文件在哪裡 瀏覽:623
jsp中的session 瀏覽:621
壓縮完了文件去哪裡找 瀏覽:380
武裝突襲3浩方聯機版本 瀏覽:674
網路機頂盒移動網路 瀏覽:391
iphone手機百度雲怎麼保存到qq 瀏覽:148
資料庫設計與實踐讀後感 瀏覽:112
js對象是什麼 瀏覽:744
網頁文件存pdf 瀏覽:567

友情鏈接