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

創(chuàng)新互聯(lián)公司是一家專業(yè)的成都網(wǎng)站建設公司,我們專注成都做網(wǎng)站、成都網(wǎng)站設計、成都外貿網(wǎng)站建設、網(wǎng)絡營銷、企業(yè)網(wǎng)站建設,賣友情鏈接,廣告投放平臺為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結構的規(guī)劃UI設計到用戶體驗提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
1、必須先判斷XML文件中是否定義String statementName;
2、如果如果存在則生成相應的MappedStatement對象;
3、并且獲得該線程所對應的Connection對象;
4、然后調用MappedStatement對象相應的操作數(shù)據(jù)庫的方法;
5、釋放Connection對象等。
在以上iBATIS用法其中只有第4步每個方法會有所變化,其他的方法都一樣。SqlMapTemplate不用的方法第4步調用MappedStatement的不同方法,但參數(shù)都一樣。
抽象類SqlMapCallback的代碼如下:
- public interface SqlMapCallback {
- Object doInMappedStatement(MappedStatement stmt, Connection con) throws SQLException;
- }
實現(xiàn)類SqlMapTemplate的調用抽象的方法代碼如下:
- 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方法中調用內部抽象方法,并實現(xiàn)內部類抽象方法的方法體代碼如下。
- 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內部類的介紹就向你講解到這里,希望對你有所幫助。
【編輯推薦】
- iBATIS動態(tài)查詢的實現(xiàn)淺析
- iBATIS DAO入門基礎教程
- iBATIS.NET配置六點總結
- iBATIS SQLMap配置Demo淺析
- iBATIS參數(shù)理解淺析
網(wǎng)頁題目:iBATIS用法之SqlMapTemplate內部類詳解
網(wǎng)頁網(wǎng)址:http://m.5511xx.com/article/cdscedh.html


咨詢
建站咨詢
