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

創(chuàng)新互聯(lián)公司是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷、企業(yè)網(wǎng)站建設(shè),賣友情鏈接,廣告投放平臺為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計到用戶體驗提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
1、必須先判斷XML文件中是否定義String statementName;
2、如果如果存在則生成相應(yīng)的MappedStatement對象;
3、并且獲得該線程所對應(yīng)的Connection對象;
4、然后調(diào)用MappedStatement對象相應(yīng)的操作數(shù)據(jù)庫的方法;
5、釋放Connection對象等。
在以上iBATIS用法其中只有第4步每個方法會有所變化,其他的方法都一樣。SqlMapTemplate不用的方法第4步調(diào)用MappedStatement的不同方法,但參數(shù)都一樣。
抽象類SqlMapCallback的代碼如下:
- public interface SqlMapCallback {
- Object doInMappedStatement(MappedStatement stmt, Connection con) throws SQLException;
- }
實現(xiàn)類SqlMapTemplate的調(diào)用抽象的方法代碼如下:
- public Object execute(String statementName, SqlMapCallback action) throws DataAccessException {
- Assert.notNull(this.sqlMap, "No SqlMap specified");
- MappedStatement stmt = this.sqlMap.getMappedStatement(statementName);
- Connection con = DataSourceUtils.getConnection(getDataSource());
- try {
- return action.doInMappedStatement(stmt, con);
- }
- catch (SQLException ex) {
- throw getExceptionTranslator().translate("SqlMap operation", null, ex);
- }
- finally {
- DataSourceUtils.releaseConnection(con, getDataSource());
- }
- }
SqlMapTemplate方法中調(diào)用內(nèi)部抽象方法,并實現(xiàn)內(nèi)部類抽象方法的方法體代碼如下。
- public Object executeQueryForObject(String statementName, final Object parameterObject)
- throws DataAccessException {
- return execute(statementName, new SqlMapCallback() {
- public Object doInMappedStatement(MappedStatement stmt, Connection con) throws SQLException {
- return stmt.executeQueryForObject(con, parameterObject);
- }
- });
- }
iBATIS用法之SqlMapTemplate內(nèi)部類的介紹就向你講解到這里,希望對你有所幫助。
【編輯推薦】
- iBATIS動態(tài)查詢的實現(xiàn)淺析
- iBATIS DAO入門基礎(chǔ)教程
- iBATIS.NET配置六點總結(jié)
- iBATIS SQLMap配置Demo淺析
- iBATIS參數(shù)理解淺析
文章標(biāo)題:iBATIS用法之SqlMapTemplate內(nèi)部類詳解
文章源于:http://fisionsoft.com.cn/article/cdscedh.html


咨詢
建站咨詢
