成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解iBaits中SqlMapClientTemplate的使用

開(kāi)發(fā) 后端
Apache iBatis(現(xiàn)已遷至Google Code下發(fā)展,更名為MyBatis)是當(dāng)前IT項(xiàng)目中使用很廣泛的一個(gè)半自動(dòng)ORM框架,區(qū)別于Hibernate之類(lèi)的全自動(dòng)框架,iBatis對(duì)數(shù)據(jù)庫(kù)的操作擁有更加靈活的控制,對(duì)于那些經(jīng)常需要調(diào)用本地?cái)?shù)據(jù)庫(kù)函數(shù)自定義SQL語(yǔ)句,或是喜歡自己優(yōu)化SQL執(zhí)行效率的開(kāi)發(fā)者來(lái)說(shuō),iBatis是一個(gè)非常不錯(cuò)的選擇。

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

1、SqlMapClientFactoryBean 的裝配

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

SpringFramework應(yīng)用中沒(méi)有裝配SqlMapClientFactoryBean,那么SqlMapClientTemplate將不可用,報(bào)空指針錯(cuò)誤。

Java代碼

  1. <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">     
  2.     <property name="configLocation" value="/WEB-INF/sqlmap-config.xml"/>      
  3.     <property name="dataSource" ref="dataSource"/>      
  4.     <property name="lobHandler" ref="oracleLobHandler"/>      
  5. bean>  

 

 

 

2、繼承使用SqlMapClientDaoSupport類(lèi)

聲明Java類(lèi):

Java代碼

 

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

 

SpringFramework配置文件中裝配Java類(lèi):

 

3、使用SqlMapClientTemplate查詢

Java代碼:

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

Java代碼

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

 

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

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

Java代碼

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

 

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

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批量更新與刪除實(shí)例淺析
  2. 簡(jiǎn)述Hibernate Synchronizer學(xué)習(xí)筆記
  3. Hibernate column屬性簡(jiǎn)介
  4. 概括Hibernate查詢語(yǔ)言
  5. Hibernate cartridge學(xué)習(xí)總結(jié)
責(zé)任編輯:金賀 來(lái)源: JavaEye博客
相關(guān)推薦

2016-09-18 16:58:09

JavaProperties

2010-09-08 17:15:45

SQL循環(huán)結(jié)構(gòu)

2021-04-13 09:20:21

JavaUnsafejava8

2010-03-19 16:07:41

Exchange 20

2011-05-13 09:16:03

Mysqlmysqldump命令

2011-07-20 09:16:02

MongoDB索引稀疏索引

2009-08-17 08:42:48

LinuxScreen命令使用技巧

2011-08-15 14:27:51

CocoaRunLoop

2009-10-29 09:15:32

ASP.NET MVCDropDownLis

2022-06-26 08:39:19

Spring容器字段格式化

2010-12-16 10:00:20

QtVisual Stud

2025-01-20 07:00:00

2010-07-22 15:22:58

BlackBerry開(kāi)

2010-10-09 10:30:03

JS event

2009-06-29 17:57:30

ApplicationJSP

2015-04-16 10:51:05

paaspcfhaproxy

2009-07-20 14:24:13

Math.pow()方Java ME

2009-06-17 11:27:00

setClip方法J2ME

2019-11-07 23:48:12

shell腳本getopts

2025-04-24 10:40:46

CatalogFlink SQL元數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲成人精品一区二区 | 成人午夜在线 | 免费一级片 | 国产精品久久久久久久久久久久久久 | 亚洲黄色一级 | 国产91亚洲精品一区二区三区 | 成人a免费| 日日日操 | 黄色一级视频免费 | 91玖玖| 在线观看av网站永久 | 国产在线观看福利 | 免费视频一区 | 欧美激情精品久久久久久免费 | 久久久久成人精品免费播放动漫 | 99re热精品视频 | 国产在线播放av | 中文字幕亚洲精品 | 久久性av | 国产欧美日韩一区二区三区在线观看 | 狠狠爱视频 | 一区二区久久电影 | 97超碰免费 | 久久成人久久 | 精品91av| 欧美日韩国产中文字幕 | 日韩爱爱网 | 久久久久国产一级毛片 | 国产一区二区三区在线视频 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 欧美激情综合网 | av一区在线 | 亚洲国产高清高潮精品美女 | 欧美色性 | 欧美片网站免费 | 日韩免费在线观看视频 | 综合精品在线 | 自拍中文字幕 | 91porn国产成人福利 | 99riav3国产精品视频 | 国产一区二区三区四区三区四 |