前兩篇手記重點說了下ibatis 3的查詢功能,因為這是它改動最大的地方。這篇手記就來說下ibatis在persistance方面的改進。
ibatis 3依然提供了標籤對資料庫進行持久化操作。首先來看insert操作:
select seq_nn_mstr_id.nextval from dual insert into nn_mstr(對於,ibatis 3新增了以下屬性: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
,#,#,#
,#,#
,#
,#
,#,#
,#,#
,#,#
,#
)
另外乙個改進是在insert時支援使用標籤獲取主鍵值,如上面**所示。keyproperty指定存放主鍵的屬性名,order指定的執行順序,值可以為before或after,如果是before則先執行中的sql,再執行操作,after則相反。
接下來是update操作,ibatis 3提供了標籤來方便操作,它會自動判斷是否需要加上set關鍵字。
update nn_mstr至於delete操作和ibatis 2相同,在些就不詳述了。category = #,
subject = #
where nn_id = #
此外再介紹兩個比較有用的標籤:和
標籤主要用於定義可以重用的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最終生成的sql將是:......wf_status in (value1, value2, ....)where wf_status in #
最後一點需要注意的是如果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...