這段時間閒來無事重新研究下ssh和ssi的模型,以前寫過一篇關於hibernate對jdbc的封裝的文章,這不就再來寫一篇ibatis的。
相對於hibernate的一站式orm解決方案而言,ibatis則是一種半自動化的orm的實現方案了,怎麼說呢,大家看hibernate是對資料庫結構提供了較為完整的封裝,提供了pojo到資料庫表的全套對映機制,我們要做的就是配置好配置檔案和pojo以及他們之間的對映關係即可,即便是你不懂sql語句,也能進行開發使用。可是往往這種情況下就稍微的有點兒侷限性,對於有些需求來說不容易滿足,並且不利於sql的優化等。這時我們就更多的考慮到了輕量級的ibatis這種半自動的實現形式了。要知道ibatis的優點在於,它僅僅實現的是pojo與sql之間的對映關係,具體的sql語句需要我們自己來寫才行。然後通過ibatis的配置檔案將sql所需的引數,以及返回的結果字段對映到指定的pojo。從而達到orm效果.下面讓我們來一一介紹ibatis的配置檔案以及核心函式:
1.ibatis的例項配置檔案及jdbc的配置:
2.pojo的基礎類檔案:這裡是jdbc的配置檔案
這裡是pojo與sql語句的對映檔案
3.sql的對映檔案:public class student
/*** @param id the id to set
*/public void setid(int id)
4.sqlmapclient是ibatis運作的核心,所有的資料庫操作都是通過sqlmapclient例項來完成的。
select * from student1
select * from student1
where id=#id#
insert student1(id,username,password,age)
values (#id#,#username#,#password#,#age#)
xmlsqlmapclientbuilder是ibatis的元件,是用來根據配置檔案建立sqlmapclient例項的:
然後就可以直接呼叫private static sqlmapclient sqlmapclient;
static catch (ioexception e)
}
sqlmapclient中的方法,進行資料庫的crud了。
其中還有很多的細節,值得自己去慢慢研究。
Ibatis中的 和 區別
在ibatis中我們使用sqlmap進行sql查詢時需要引用引數,在引數引用中遇到的符號 和 之間的區分為,可以進行與編譯,進行型別匹配,而 不進行資料型別匹配,例如 select from table where id id 其中如果欄位id為字元型,那麼 id 表示的就是 id 型別,如果id為...
ibatis中iterate的用法
原始出處 作者資訊和本宣告。否則將追究法律責任。persondaoimp如下 刪除性別為man,年齡為 11,12 的person記錄 public int deleteperson mapmap person.xml如下 delete id deleteperson parameterclass ...
ibatis 中 與 的區別
在ibatis中我們使用sqlmap進行sql查詢時需要引用引數,在引數引用中遇到的符號 和 之間的區分為,可以進行與編譯,進行型別匹配,而 不進行資料型別匹配,例如 select from table where id id 其中如果欄位id為字元型,那麼 id 表示的就是 id 型別,如果id為...