自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

介紹JSP數(shù)據(jù)庫(kù)高級(jí)操作

開(kāi)發(fā) 后端
本文簡(jiǎn)單介紹JSP數(shù)據(jù)庫(kù)高級(jí)操作,包括三個(gè)小技巧數(shù)據(jù)排序,主/從表處理和事務(wù)處理。

簡(jiǎn)單介紹JSP數(shù)據(jù)庫(kù)操作的3個(gè)小技巧:數(shù)據(jù)排序,主/從表處理,事務(wù)處理。

1.數(shù)據(jù)排序

在JSP數(shù)據(jù)庫(kù)技術(shù)中,可以使用ORDER子句對(duì)查詢結(jié)果進(jìn)行排序[ ORDER BY { order_by_exdivssion[ ASC | DESC]} [ ¸…n ] ],其中,order_by_exdivssion用來(lái)指定要排序的列;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.主/從表處理

實(shí)現(xiàn)主從表查詢主要通過(guò)IN子句和EXISTS子句為實(shí)現(xiàn)。

IN子句是通過(guò)IN(或NOT IN)連接起來(lái)的一種檢索數(shù)據(jù)的方法,其返回的結(jié)果集中可以包含零個(gè)或者多個(gè)值。

EXISTS子句是通過(guò)EXISTS(或NOT EXISTS)連接起來(lái)的一種檢索數(shù)據(jù)的方法,它的功能是判斷子查詢的結(jié)果集中是否有數(shù)據(jù)行返回,返回TRUE或FALSE,而不返回其他的實(shí)際數(shù)據(jù)。由于不需要在這種子查詢中返回具體值,這種子查詢的選擇列表經(jīng)常使用“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.事務(wù)處理

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

在JDBC中怎樣將多個(gè)SQL語(yǔ)句組合成一個(gè)事務(wù)呢?在JDBC中,打開(kāi)一個(gè)連接對(duì)象Connection時(shí),缺省是auto- commit模式,每個(gè)SQL語(yǔ)句都被當(dāng)作一個(gè)事務(wù),即每次執(zhí)行一個(gè)語(yǔ)句,都會(huì)自動(dòng)的得到事務(wù)確認(rèn)。為了能將多個(gè)SQL語(yǔ)句組合成一個(gè)事務(wù),要將 auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不調(diào)用commit()方法,SQL語(yǔ)句不會(huì)得到事務(wù)確認(rèn)。在最近一次 commit()方法調(diào)用之后的所有SQL會(huì)在方法commit()調(diào)用時(shí)得到確認(rèn)。

  1. public int delete(int sID) {  
  2.  dbc = new DataBaseConnection();  
  3.  Connection con = dbc.getConnection();  
  4.  try {  
  5.   con.setAutoCommit(false);// 更改JDBC事務(wù)的默認(rèn)提交方式  
  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事務(wù)  
  10.   con.setAutoCommit(true);// 恢復(fù)JDBC事務(wù)的默認(rèn)提交方式  
  11.   dbc.close();  
  12.   return 1;  
  13.  }  
  14.  catch (Exception exc) {  
  15.   con.rollBack();//回滾JDBC事務(wù)  
  16.   exc.printStackTrace();  
  17.   dbc.close();  
  18.   return -1;  
  19.  }查看本文來(lái)源   

 

【編輯推薦】

  1. JSP連接ORACLE數(shù)據(jù)庫(kù)時(shí)注意的一些問(wèn)題
  2. JSP中tomcat的SQL Server2000數(shù)據(jù)庫(kù)連接池的配置
  3. 簡(jiǎn)單介紹Servlets和JSP的區(qū)別
  4. JSP include指令和include行為的區(qū)別
  5. JSP輸出excel文檔和中文亂碼問(wèn)題的解決
責(zé)任編輯:佚名 來(lái)源: builder
相關(guān)推薦

2009-07-01 11:08:14

JSP DestoryJSP Init數(shù)據(jù)庫(kù)鏈接

2009-07-03 14:10:59

2011-05-17 13:43:23

Oracle數(shù)據(jù)庫(kù)

2009-06-30 15:54:00

數(shù)據(jù)庫(kù)訪問(wèn)JSP

2009-07-02 08:50:01

JSP標(biāo)簽庫(kù)

2023-06-06 08:25:31

SQLAlchemy數(shù)據(jù)庫(kù)

2009-12-17 13:30:49

Ruby操作Acces

2011-03-11 17:16:02

JSP操作數(shù)據(jù)庫(kù)訪問(wèn)效率

2024-03-25 07:22:50

GolangMySQL數(shù)據(jù)庫(kù)

2011-03-17 14:51:33

數(shù)據(jù)庫(kù)自我調(diào)整

2011-04-14 09:27:37

內(nèi)存數(shù)據(jù)庫(kù)

2009-07-03 13:56:21

JSP編程技巧

2009-07-06 15:57:56

獲取數(shù)據(jù)庫(kù)連接JSP

2010-01-07 17:24:12

VB.NET連接數(shù)據(jù)庫(kù)

2011-04-13 15:07:30

數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)

2015-10-28 14:45:35

ORACLE AIO異步IO

2015-10-28 17:39:04

ORACLE AIO異步IO

2011-02-28 15:45:12

2009-12-29 11:15:45

ADO數(shù)據(jù)庫(kù)

2010-09-27 14:54:38

SQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)