日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解iBaits中SqlMapClientTemplate的使用

Apache iBatis(現(xiàn)已遷至Google Code下發(fā)展,更名為MyBatis)是當(dāng)前IT項目中使用很廣泛的一個半自動ORM框架,區(qū)別于Hibernate之類的全自動框架,iBatis對數(shù)據(jù)庫的操作擁有更加靈活的控制,對于那些經(jīng)常需要調(diào)用本地數(shù)據(jù)庫函數(shù)自定義SQL語句,或是喜歡自己優(yōu)化SQL執(zhí)行效率的開發(fā)者來說,iBatis是一個非常不錯的選擇。而得到廣泛應(yīng)用的開源企業(yè)架構(gòu)SpringFramework,也很好的將其進(jìn)行了集成,使得iBatis在 SpringFramework中的使用更加便利、快捷。開發(fā)者所要做的就是繼承SpringFramework中提供的 SqlMapClientDaoSupport類即可。下面,我將自己的使用經(jīng)驗與大家分享一下:

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的西鄉(xiāng)塘網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1、SqlMapClientFactoryBean 的裝配

SqlMapClientFactoryBean是SqlMapClientTemplate使用的基礎(chǔ),如果在

SpringFramework應(yīng)用中沒有裝配SqlMapClientFactoryBean,那么SqlMapClientTemplate將不可用,報空指針錯誤。

Java代碼

 
 
 
  1.      
  2.            
  3.            
  4.            
  5. bean>  

2、繼承使用SqlMapClientDaoSupport類

聲明Java類:

Java代碼

 
 
 
  1.    ......     
  2.     import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;     
  3.     ......     
  4.     public class ReportDAOImpl extends SqlMapClientDaoSupport {     
  5.         ......     
  6.     }     
  7.     
  8. SpringFramework配置文件中裝配Java類:     
  9.      "reportDao" class="com.test.dao.ReportDAOImpl">     
  10.          "sqlMapClient" ref="sqlMapClient"/>       
  11.       

SpringFramework配置文件中裝配Java類:

3、使用SqlMapClientTemplate查詢

Java代碼:

當(dāng)執(zhí)行沒有參數(shù)的查詢時:

Java代碼

 
 
 
  1. List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTest");   

"TestSpace"為iBatis SqlMap文件的命名空間;"qryTest"為iBatis SqlMap的查詢方法id

當(dāng)按照主鍵獲取某條記錄信息時:

Java代碼

 
 
 
  1. Long id = new Long("2");     
  2.    Object resultObj = getSqlMapClientTemplate().queryForObject("TestSpace.getTest", id);    

當(dāng)按照某些條件查詢時:

Java代碼

 
 
 
  1. ObjectA objA = new ObjectA();     
  2.     objA.setParam1("test1");     
  3.     objA.setParam2("test2");     
  4.     ......     
  5.     List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTestByParam", objA);    

如果需要取4~40條數(shù)據(jù):

List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTestByParam", objA, 4, 40);

也可以返回Map

Java代碼

 
 
 
  1. Map result = getSqlMapClientTemplate().queryForMap("TestSpace.qryTestByParam", objA, "MapKey");  

4、使用SqlMapClientTemplate添加數(shù)據(jù)

Java代碼:

 
 
 
  1. ObjectA objA = new ObjectA();  

Java代碼

 
 
 
  1. objA.setParam1("test1");     
  2.    objA.setParam2("test2");     
  3.    ......     
  4.    getSqlMapClientTemplate().insert("TestSpace.insertTest", objA);    

5、使用SqlMapClientTemplate更新數(shù)據(jù)

Java代碼:

Java代碼

 
 
 
  1. ObjectA objA = new ObjectA();     
  2.     objA.setParam1("test1");     
  3.     objA.setParam2("test2");     
  4.     ......     
  5.     getSqlMapClientTemplate().update("TestSpace.updateTest", objA);    

更新前20條記錄:

Java代碼

 
 
 
  1. getSqlMapClientTemplate().update("TestSpace.updateTest", objA, 20);   

6、使用SqlMapClientTemplate刪除數(shù)據(jù)

Java代碼:

Java代碼

 
 
 
  1. Long id = new Long("2");     
  2.    getSqlMapClientTemplate().delete("TestSpace.deleteTest", id);  

【編輯推薦】

  1. Hibernate批量更新與刪除實例淺析
  2. 簡述Hibernate Synchronizer學(xué)習(xí)筆記
  3. Hibernate column屬性簡介
  4. 概括Hibernate查詢語言
  5. Hibernate cartridge學(xué)習(xí)總結(jié)

分享名稱:詳解iBaits中SqlMapClientTemplate的使用
URL分享:http://www.5511xx.com/article/cosjced.html