如何使用jdbc template查詢數據,而用ibatis組裝結果?

使用jdbc template鏈接數據庫,必須提供連接數據庫所需的地址、用戶名、密碼。這些信息可以從已有的ibatis sqlclient對象中獲取。

 

 

 

然後從ibatis配置中獲取需要執行的sql語句。但是ibatis每次執行sql都需要有一個RequestScope和SessionScope對象,所以我們手動生成這兩個對象,傳給ibatis。

 

在執行PreparedStatement 之前,必須先給PreparedStatement 綁定變量

 

 

ok,PreparedStatement對象已經準備完畢,可以執行了。

 

 

數據庫返回了resultset,但是我們還需要讓ibatis幫我們把結果組裝成dto對象。

 

ok,大功告成,返回結果就是我們所需要的對像啦。

 

採用以上jdbc template 與ibatis結合的好處是,可以自己控制查詢的過程。

當查詢的數據結果比較大時,採用傳統的ibatis查詢,一般有兩種方式:分頁和不分頁。如果分頁,就需要排序,大數量的排序是比較耗時的,這樣數據庫總是在做重複的工作,增加了數據庫的壓力。如果不分頁,jvm需要緩存大量的對象,佔用大量的內存,並且可能導致內存溢出。

而查詢工作由我們自己來做的話,我們就可以只做一次查詢,並且不需要排序,可以將這個resultset對象緩存起來,每次從resultset中取一批數據,取完之後將這個對象釋放掉。這種方法的缺點是,查詢結果會在數據庫中存在比較長的時間,一段時間內,佔用內存無法釋放。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章