偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iBATIS用法之SqlMapTemplate內(nèi)部類詳解

開(kāi)發(fā) 后端
iBATIS用法之SqlMapTemplate內(nèi)部類向你介紹iBATIS SqlMapTemplate內(nèi)部類的具體用法。

iBATIS用法中的SqlMapTemplate類主要查找和String statementName相對(duì)應(yīng)的MappedStatement對(duì)象,并調(diào)用MappedStatement的相應(yīng)的方法,但SqlMapTemplate的查詢方法,都有以下的幾個(gè)操作。

1、必須先判斷XML文件中是否定義String statementName;

2、如果如果存在則生成相應(yīng)的MappedStatement對(duì)象;

3、并且獲得該線程所對(duì)應(yīng)的Connection對(duì)象;

4、然后調(diào)用MappedStatement對(duì)象相應(yīng)的操作數(shù)據(jù)庫(kù)的方法;

5、釋放Connection對(duì)象等。

在以上iBATIS用法其中只有第4步每個(gè)方法會(huì)有所變化,其他的方法都一樣。SqlMapTemplate不用的方法第4步調(diào)用MappedStatement的不同方法,但參數(shù)都一樣。

抽象類SqlMapCallback的代碼如下:

  1. public interface SqlMapCallback {  
  2.    
  3.       Object doInMappedStatement(MappedStatement stmt, Connection con) throws    SQLException;  
  4.    
  5.  } 

實(shí)現(xiàn)類SqlMapTemplate的調(diào)用抽象的方法代碼如下:

  1. public Object execute(String statementName, SqlMapCallback action) throws      DataAccessException {  
  2.      Assert.notNull(this.sqlMap, "No SqlMap specified");  
  3.      MappedStatement stmt = this.sqlMap.getMappedStatement(statementName);  
  4.      Connection con = DataSourceUtils.getConnection(getDataSource());  
  5.      try {  
  6.           return action.doInMappedStatement(stmt, con);  
  7.      }  
  8.      catch (SQLException ex) {  
  9.           throw getExceptionTranslator().translate("SqlMap operation"null,      ex);  
  10.      }  
  11.      finally {  
  12.           DataSourceUtils.releaseConnection(con, getDataSource());  
  13.      }  

SqlMapTemplate方法中調(diào)用內(nèi)部抽象方法,并實(shí)現(xiàn)內(nèi)部類抽象方法的方法體代碼如下。

  1. public Object executeQueryForObject(String statementName, final Object      parameterObject)  
  2.      throws DataAccessException {  
  3.           return execute(statementName, new SqlMapCallback() {  
  4.                public Object doInMappedStatement(MappedStatement stmt,      Connection      con)      throws SQLException {  
  5.                return stmt.executeQueryForObject(con, parameterObject);  
  6.           }  
  7.           });  

iBATIS用法之SqlMapTemplate內(nèi)部類的介紹就向你講解到這里,希望對(duì)你有所幫助。

【編輯推薦】

  1. iBATIS動(dòng)態(tài)查詢的實(shí)現(xiàn)淺析
  2. iBATIS DAO入門(mén)基礎(chǔ)教程
  3. iBATIS.NET配置六點(diǎn)總結(jié)
  4. iBATIS SQLMap配置Demo淺析
  5. iBATIS參數(shù)理解淺析
責(zé)任編輯:仲衡 來(lái)源: cnblogs
相關(guān)推薦

2020-01-15 11:14:21

Java算法排序

2020-12-14 10:23:23

Java內(nèi)部類外部類

2009-07-15 11:43:13

<iterate>標(biāo)簽

2011-03-29 14:11:15

內(nèi)部類

2023-10-19 13:24:00

Java工具

2011-04-19 09:14:59

Ibatis

2023-03-06 07:53:36

JavaN種內(nèi)部類

2009-08-26 18:00:07

C#內(nèi)部類

2009-06-11 13:08:29

Java內(nèi)部類Java編程思想

2010-08-31 08:51:58

marginCSS

2011-03-15 10:41:05

內(nèi)部類

2011-07-21 15:44:33

Java內(nèi)部類

2019-12-23 14:32:38

Java內(nèi)部類代碼

2015-12-08 09:05:41

Java內(nèi)部類

2009-07-29 09:18:49

Java內(nèi)部類

2012-04-17 11:21:50

Java

2020-09-21 07:00:42

Java內(nèi)部類接口

2021-02-08 08:45:18

Java內(nèi)部類Object類

2010-07-19 14:13:41

Perl函數(shù)

2011-11-23 10:59:18

Javafinal
點(diǎn)贊
收藏

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