成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

介紹JSP數據庫高級操作

開發 后端
本文簡單介紹JSP數據庫高級操作,包括三個小技巧數據排序,主/從表處理和事務處理。

簡單介紹JSP數據庫操作的3個小技巧:數據排序,主/從表處理,事務處理。

1.數據排序

在JSP數據庫技術中,可以使用ORDER子句對查詢結果進行排序[ ORDER BY { order_by_exdivssion[ ASC | DESC]} [ ¸…n ] ],其中,order_by_exdivssion用來指定要排序的列;ASC指定按遞增順序排列;DESC指定按遞減順序排序。

  1. Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver"
     ).new Instance( );  
  2. String url="jdbc:microsoft:sqlserver://localhost:1433;
    DatabaseName=pubs"
    ;  
  3. String user="dxaw";  
  4. String password="123";  
  5. Connection conn=DriverManager.getConnection( url, user, password );  
  6. Statement st=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,  
  7.  ResultSet.CONCUR_UPDATABLE );  
  8. String sql="select * from tbl order by id desc";  
  9. ResultSet rs=st.executeQuery( sql );  
  10. while( rs.next )...{  
  11.     out.println( rs.getString( "..." ) );  
  12. }  
  13. rs.close( );  
  14. st.close( );  
  15. conn.close( ); 

2.主/從表處理

實現主從表查詢主要通過IN子句和EXISTS子句為實現。

IN子句是通過IN(或NOT IN)連接起來的一種檢索數據的方法,其返回的結果集中可以包含零個或者多個值。

EXISTS子句是通過EXISTS(或NOT EXISTS)連接起來的一種檢索數據的方法,它的功能是判斷子查詢的結果集中是否有數據行返回,返回TRUE或FALSE,而不返回其他的實際數據。由于不需要在這種子查詢中返回具體值,這種子查詢的選擇列表經常使用“SELECT *”格式,其外層的WHERE子句也不需要指定列名。 

  1. select au_id, au_name form authors where au_id IN (   
  2. select au_id form titleauthor where title_id IN (   
  3. select title_id form titles where type="business" 
  4. )  

3.事務處理

事務是JSP數據庫理論中的核心概念之一。如果一組處理步驟或者全部發生或者一步也不執行,我們稱該組處理步驟為一個事務。當所有的步驟像一個操作一樣被完整地執行,我們稱該事務被提交。由于其中的一部分或多步執行失敗,導致沒有步驟被提交,則事務必須回滾(回到最初的系統狀態)。事務必須服從ISO/IEC所制定的ACID 原則。ACID是原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持久性(durability)的縮寫。事務的原子性表示事務執行過程中的任何失敗都將導致事務所做的任何修改失效。一致性表示當事務執行失敗時,所有被該事務影響的數據都應該恢復到事務執行前的狀態。隔離性表示在事務執行過程中對數據的修改,在事務提交之前對其他事務不可見。持久性表示已提交的數據在事務執行失敗時,數據的狀態都應該正確。

在JDBC中怎樣將多個SQL語句組合成一個事務呢?在JDBC中,打開一個連接對象Connection時,缺省是auto- commit模式,每個SQL語句都被當作一個事務,即每次執行一個語句,都會自動的得到事務確認。為了能將多個SQL語句組合成一個事務,要將 auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不調用commit()方法,SQL語句不會得到事務確認。在最近一次 commit()方法調用之后的所有SQL會在方法commit()調用時得到確認。

  1. public int delete(int sID) {  
  2.  dbc = new DataBaseConnection();  
  3.  Connection con = dbc.getConnection();  
  4.  try {  
  5.   con.setAutoCommit(false);// 更改JDBC事務的默認提交方式  
  6.   dbc.executeUpdate("delete from tab1 where ID=" + sID);  
  7.   dbc.executeUpdate("delete from tab2 where ID=" + sID);  
  8.   dbc.executeUpdate("delete from tab3 where bylawid=" + sID);  
  9.   con.commit();//提交JDBC事務  
  10.   con.setAutoCommit(true);// 恢復JDBC事務的默認提交方式  
  11.   dbc.close();  
  12.   return 1;  
  13.  }  
  14.  catch (Exception exc) {  
  15.   con.rollBack();//回滾JDBC事務  
  16.   exc.printStackTrace();  
  17.   dbc.close();  
  18.   return -1;  
  19.  }查看本文來源   

 

【編輯推薦】

  1. JSP連接ORACLE數據庫時注意的一些問題
  2. JSP中tomcat的SQL Server2000數據庫連接池的配置
  3. 簡單介紹Servlets和JSP的區別
  4. JSP include指令和include行為的區別
  5. JSP輸出excel文檔和中文亂碼問題的解決
責任編輯:佚名 來源: builder
相關推薦

2009-07-01 11:08:14

JSP DestoryJSP Init數據庫鏈接

2011-05-17 13:43:23

Oracle數據庫

2009-07-03 14:10:59

2009-06-30 15:54:00

數據庫訪問JSP

2023-06-06 08:25:31

SQLAlchemy數據庫

2009-07-02 08:50:01

JSP標簽庫

2009-12-17 13:30:49

Ruby操作Acces

2011-03-11 17:16:02

JSP操作數據庫訪問效率

2011-03-17 14:51:33

數據庫自我調整

2011-04-14 09:27:37

內存數據庫

2024-03-25 07:22:50

GolangMySQL數據庫

2009-07-03 13:56:21

JSP編程技巧

2010-01-07 17:24:12

VB.NET連接數據庫

2009-07-06 15:57:56

獲取數據庫連接JSP

2011-04-13 15:07:30

數據庫系統設計

2015-10-28 14:45:35

ORACLE AIO異步IO

2009-07-07 17:37:32

JSP標簽庫

2010-09-27 14:54:38

SQL數據庫

2010-03-26 09:06:06

Python連接數據庫

2011-07-04 15:14:49

C#
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产18久久久久久二百 | 久久精品一 | 亚洲成人在线视频播放 | 免费在线性爱视频 | 久久精品中文 | 黄网站免费在线 | 国产精品成人一区二区 | 欧美一级全黄 | 久久精品中文字幕 | 日韩在线免费视频 | 操久久 | 国产精品毛片无码 | 成人免费视频网 | 欧美日韩精品免费 | 嫩草懂你的影院入口 | 91看片网 | 美女国内精品自产拍在线播放 | 日韩欧美专区 | 精品欧美乱码久久久久久 | 天天宗合网| 亚洲欧美高清 | 日韩精品中文字幕一区二区三区 | 大学生a级毛片免费视频 | 午夜精品久久久久久久 | 四虎在线观看 | 亚洲有码转帖 | 天天弄 | 国产欧美一区二区三区久久人妖 | 免费激情网站 | 免费看国产a | 日本网站免费观看 | 免费国产一区二区 | 日韩一 | 国产精品久久久久久久久久妇女 | 日韩精品一区二区三区中文字幕 | 一级a性色生活片久久毛片 一级特黄a大片 | 亚洲视频一区在线 | 国产精品久久久久久妇女6080 | av日韩在线播放 | 日韩免费看片 | 九九九视频在线观看 |