iBATIS 3 試用手記三

2021-08-30 09:24:25 字數 2093 閱讀 2331

前兩篇手記重點說了下ibatis 3的查詢功能,因為這是它改動最大的地方。這篇手記就來說下ibatis在persistance方面的改進。

ibatis 3依然提供了標籤對資料庫進行持久化操作。首先來看insert操作:

select seq_nn_mstr_id.nextval from dual

insert into nn_mstr(

nn_id

,category

,subject

,posted_date

,expiry_date

,alert

,email_alert

,audience

,filter

,filter_value

,sub_filter_value

,exclude_user_id

,wf_department

,wf_status

,wf_notes

,wf_created_by

,wf_created_on

,wf_modified_by

,wf_modified_on

,wf_version

)values(#,#

,# ,sysdate

,sysdate + 7

,#,#,#

,#,#

,#

,#

,#,#

,#,#

,#,#

,#

)

對於,ibatis 3新增了以下屬性:

另外乙個改進是在insert時支援使用標籤獲取主鍵值,如上面**所示。keyproperty指定存放主鍵的屬性名,order指定的執行順序,值可以為before或after,如果是before則先執行中的sql,再執行操作,after則相反。

接下來是update操作,ibatis 3提供了標籤來方便操作,它會自動判斷是否需要加上set關鍵字。

update nn_mstr

category = #,

subject = #

where nn_id = #

至於delete操作和ibatis 2相同,在些就不詳述了。

此外再介紹兩個比較有用的標籤:和

標籤主要用於定義可以重用的sql,然後在需要用到的地方使用標籤將其加入即可。如下:

a.nn_id, a.category, a.subject, a.posted_date, a.expiry_date, a.alert, a.email_alert, a.audience,

a.filter, a.filter_value, a.sub_filter_value, a.exclude_user_id, a.wf_department, a.wf_status, a.wf_notes,

c.nn_id msg_box_nn_id, c.folder, c.read, c.read_on, c.defunct_ind msg_box_defunct_ind, c.pi_no msg_box_pi_no

select

from nn_mstr a, nn_content b, nn_msg_box c

where a.nn_id = b.parent_nn_id

and a.nn_id = c.nn_id

......

而標籤則用於迭代集合或陣列,常用於在in操作中,其操作類似jstl中的,如下:

select count(*) from nn_mstr

where wf_status in #

最終生成的sql將是:......wf_status in (value1, value2, ....)

最後一點需要注意的是如果transactiontype設定jdbc的話,ibatis 3預設auto commit為false, 所以在執行完持久化操作後,需要呼叫session.commit()方法來提交事務,或是首先呼叫session.getconnection().setautocommit(autocommit)來設定auto commit策略。

Silverlight 3試用手記

試用環境 wmware 6.5.2,windows xp sp3,512mb記憶體分配,15gb硬碟分配.以上虛機環境安裝完畢後,映象檔案大小是3.44gb.關於記憶體,本人還是建議分配得更大一些,儘管512跑起來也不是很慢.因為silverlight2和3的開發環境無法共存,所以使用虛機環境進行安...

Silverlight 3試用手記

試用環境 wmware 6.5.2,windows xp sp3,512mb記憶體分配,15gb硬碟分配.以上虛機環境安裝完畢後,映象檔案大小是3.44gb.關於記憶體,本人還是建議分配得更大一些,儘管512跑起來也不是很慢.因為silverlight2和3的開發環境無法共存,所以使用虛機環境進行安...

Adobe Spark試用手記

5月,夏,初夏。乙個不起眼的日子,起眼的是一家公司,一款產品,它叫adobe,它叫spark。沒有人知道adobe究竟有沒有發布過多終端產品,真正意義的多終端產品,它儼然動手了,就在一周之前,乾脆利落,不帶一絲遲疑。世人盡知adobe之名,源於其客戶端軟體之研發,尤長於photoshop,顯於fla...