• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java MappedStatement类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.ibatis.sqlmap.engine.mapping.statement.MappedStatement的典型用法代码示例。如果您正苦于以下问题:Java MappedStatement类的具体用法?Java MappedStatement怎么用?Java MappedStatement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MappedStatement类属于com.ibatis.sqlmap.engine.mapping.statement包,在下文中一共展示了MappedStatement类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: process

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
private void process(StatementScope statementScope, Object parameterObject) {
  SqlTagContext ctx = new SqlTagContext();
  List localChildren = children;
  processBodyChildren(statementScope, ctx, parameterObject, localChildren.iterator());

  ParameterMap map = new ParameterMap(delegate);
  map.setId(statementScope.getStatement().getId() + "-InlineParameterMap");
  map.setParameterClass(((MappedStatement) statementScope.getStatement()).getParameterClass());
  map.setParameterMappingList(ctx.getParameterMappings());

  String dynSql = ctx.getBodyText();

  // Processes $substitutions$ after DynamicSql
  if (SimpleDynamicSql.isSimpleDynamicSql(dynSql)) {
    dynSql = new SimpleDynamicSql(delegate, dynSql).getSql(statementScope, parameterObject);
  }

  statementScope.setDynamicSql(dynSql);
  statementScope.setDynamicParameterMap(map);
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:21,代码来源:DynamicSql.java


示例2: executeSelectKey

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
private Object executeSelectKey(SessionScope sessionScope, Transaction trans, MappedStatement ms, Object param)
    throws SQLException {
  Object generatedKey = null;
  StatementScope statementScope;
  InsertStatement insert = (InsertStatement) ms;
  SelectKeyStatement selectKeyStatement = insert.getSelectKeyStatement();
  if (selectKeyStatement != null) {
    statementScope = beginStatementScope(sessionScope, selectKeyStatement);
    try {
      generatedKey = selectKeyStatement.executeQueryForObject(statementScope, trans, param, null);
      String keyProp = selectKeyStatement.getKeyProperty();
      if (keyProp != null) {
        PROBE.setObject(param, keyProp, generatedKey);
      }
    } finally {
      endStatementScope(statementScope);
    }
  }
  return generatedKey;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:21,代码来源:SqlMapExecutorDelegate.java


示例3: update

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Execute an update statement
 *
 * @param sessionScope
 *          - the session scope
 * @param id
 *          - the statement ID
 * @param param
 *          - the parameter object
 * @return - the number of rows updated
 * @throws SQLException
 *           - if the update fails
 */
public int update(SessionScope sessionScope, String id, Object param) throws SQLException {
  int rows = 0;

  MappedStatement ms = getMappedStatement(id);
  Transaction trans = getTransaction(sessionScope);
  boolean autoStart = trans == null;

  try {
    trans = autoStartTransaction(sessionScope, autoStart, trans);

    StatementScope statementScope = beginStatementScope(sessionScope, ms);
    try {
      rows = ms.executeUpdate(statementScope, trans, param);
    } finally {
      endStatementScope(statementScope);
    }

    autoCommitTransaction(sessionScope, autoStart);
  } finally {
    autoEndTransaction(sessionScope, autoStart);
  }

  return rows;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:38,代码来源:SqlMapExecutorDelegate.java


示例4: queryForObject

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Execute a select for a single object
 *
 * @param sessionScope
 *          - the session scope
 * @param id
 *          - the statement ID
 * @param paramObject
 *          - the parameter object
 * @param resultObject
 *          - the result object (if not supplied or null, a new object will be created)
 * @return - the result of the query
 * @throws SQLException
 *           - if the query fails
 */
public Object queryForObject(SessionScope sessionScope, String id, Object paramObject, Object resultObject)
    throws SQLException {
  Object object = null;

  MappedStatement ms = getMappedStatement(id);
  Transaction trans = getTransaction(sessionScope);
  boolean autoStart = trans == null;

  try {
    trans = autoStartTransaction(sessionScope, autoStart, trans);

    StatementScope statementScope = beginStatementScope(sessionScope, ms);
    try {
      object = ms.executeQueryForObject(statementScope, trans, paramObject, resultObject);
    } finally {
      endStatementScope(statementScope);
    }

    autoCommitTransaction(sessionScope, autoStart);
  } finally {
    autoEndTransaction(sessionScope, autoStart);
  }

  return object;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:41,代码来源:SqlMapExecutorDelegate.java


示例5: queryForList

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Execute a query for a list
 *
 * @param sessionScope
 *          - the session scope
 * @param id
 *          - the statement ID
 * @param paramObject
 *          - the parameter object
 * @param skip
 *          - the number of rows to skip
 * @param max
 *          - the maximum number of rows to return
 * @return - the data list
 * @throws SQLException
 *           - if the query fails
 */
public List queryForList(SessionScope sessionScope, String id, Object paramObject, int skip, int max)
    throws SQLException {
  List list = null;

  MappedStatement ms = getMappedStatement(id);
  Transaction trans = getTransaction(sessionScope);
  boolean autoStart = trans == null;

  try {
    trans = autoStartTransaction(sessionScope, autoStart, trans);

    StatementScope statementScope = beginStatementScope(sessionScope, ms);
    try {
      list = ms.executeQueryForList(statementScope, trans, paramObject, skip, max);
    } finally {
      endStatementScope(statementScope);
    }

    autoCommitTransaction(sessionScope, autoStart);
  } finally {
    autoEndTransaction(sessionScope, autoStart);
  }

  return list;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:43,代码来源:SqlMapExecutorDelegate.java


示例6: queryWithRowHandler

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Execute a query with a row handler. The row handler is called once per row in the query results.
 *
 * @param sessionScope
 *          - the session scope
 * @param id
 *          - the statement ID
 * @param paramObject
 *          - the parameter object
 * @param rowHandler
 *          - the row handler
 * @throws SQLException
 *           - if the query fails
 */
public void queryWithRowHandler(SessionScope sessionScope, String id, Object paramObject, RowHandler rowHandler)
    throws SQLException {

  MappedStatement ms = getMappedStatement(id);
  Transaction trans = getTransaction(sessionScope);
  boolean autoStart = trans == null;

  try {
    trans = autoStartTransaction(sessionScope, autoStart, trans);

    StatementScope statementScope = beginStatementScope(sessionScope, ms);
    try {
      ms.executeQueryWithRowHandler(statementScope, trans, paramObject, rowHandler);
    } finally {
      endStatementScope(statementScope);
    }

    autoCommitTransaction(sessionScope, autoStart);
  } finally {
    autoEndTransaction(sessionScope, autoStart);
  }

}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:38,代码来源:SqlMapExecutorDelegate.java


示例7: getSQL

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
public String getSQL(String id,Object params){
	
	try {
		SqlMapClientImpl sci = (SqlMapClientImpl)this.sqlMapClientTemplate.getSqlMapClient();  
    	MappedStatement ms = sci.getMappedStatement(id);  
    	          
    	Sql sql = ms.getSql();    
    	        
    	SessionScope sessionScope = new SessionScope();       
    	sessionScope.incrementRequestStackDepth();       
    	StatementScope statementScope = new StatementScope(sessionScope);       
    	ms.initRequest(statementScope);      
    	ms.getCacheKey(statementScope, params);  
    	
    	String sqlString = sql.getSql(statementScope, params);
    	Object[] sqlParam = sql.getParameterMap(statementScope, params).getParameterObjectValues(statementScope, params);  
    	
    	int sqlParamLen = sqlParam.length;
    	if (sqlParam != null && sqlParamLen > 0) {
    		for (int i=0; i < sqlParamLen; i++) {
    			if (sqlParam[i] instanceof Integer) {
    				sqlString = sqlString.replaceFirst("\\?", sqlParam[i].toString());
    			}
    			else if (sqlParam[i] instanceof String) {
    				sqlString = sqlString.replaceFirst("\\?", "'" + sqlParam[i].toString() + "'");
    			}
    		}
    	}
    	return sqlString;
	} catch (Exception ex) {
		LogConstant.error(ex.getMessage(), ex);
		LogConstant.error("获取SQL 出错, id: " + id);
	}
	
	return "[未能获取 SQL语句](id: " + id + ")";

}
 
开发者ID:shuqin,项目名称:ALLIN,代码行数:38,代码来源:SqlMapClientTemplateSupport.java


示例8: translateStatementName

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
private String translateStatementName(String statementName) {
    if (systemEnvironment.isDefaultDbProvider()) {
        return statementName;
    }
    String forExternalDb = String.format("%s-%s", statementName, database.getType());
    MappedStatement statement;
    try {
        statement = ((SqlMapClientImpl) super.getSqlMapClient()).getMappedStatement(forExternalDb);
    } catch (Exception e) {
        statement = null;
    }
    return statement != null ? forExternalDb : statementName;
}
 
开发者ID:gocd,项目名称:gocd,代码行数:14,代码来源:SqlMapClientDaoSupport.java


示例9: handleMultipleResults

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
private ResultSet handleMultipleResults(PreparedStatement ps, StatementScope statementScope, int skipResults,
    int maxResults, RowHandlerCallback callback) throws SQLException {
  ResultSet rs;
  rs = getFirstResultSet(statementScope, ps);
  if (rs != null) {
    handleResults(statementScope, rs, skipResults, maxResults, callback);
  }

  // Multiple ResultSet handling
  if (callback.getRowHandler() instanceof DefaultRowHandler) {
    MappedStatement statement = statementScope.getStatement();
    DefaultRowHandler defaultRowHandler = ((DefaultRowHandler) callback.getRowHandler());
    if (statement.hasMultipleResultMaps()) {
      List multipleResults = new ArrayList();
      multipleResults.add(defaultRowHandler.getList());
      ResultMap[] resultMaps = statement.getAdditionalResultMaps();
      int i = 0;
      while (moveToNextResultsSafely(statementScope, ps)) {
        if (i >= resultMaps.length)
          break;
        ResultMap rm = resultMaps[i];
        statementScope.setResultMap(rm);
        rs = ps.getResultSet();
        DefaultRowHandler rh = new DefaultRowHandler();
        handleResults(statementScope, rs, skipResults, maxResults, new RowHandlerCallback(rm, null, rh));
        multipleResults.add(rh.getList());
        i++;
      }
      defaultRowHandler.setList(multipleResults);
      statementScope.setResultMap(statement.getResultMap());
    } else {
      while (moveToNextResultsSafely(statementScope, ps))
        ;
    }
  }
  // End additional ResultSet handling
  return rs;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:39,代码来源:DefaultSqlExecutor.java


示例10: addMappedStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Add a mapped statement
 *
 * @param ms
 *          - the mapped statement to add
 */
public void addMappedStatement(MappedStatement ms) {
  if (mappedStatements.containsKey(ms.getId())) {
    throw new SqlMapException("There is already a statement named " + ms.getId() + " in this SqlMap.");
  }
  ms.setBaseCacheKey(hashCode());
  mappedStatements.put(ms.getId(), ms);
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:14,代码来源:SqlMapExecutorDelegate.java


示例11: getMappedStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Get a mappedstatement by its ID
 *
 * @param id
 *          - the statement ID
 * @return - the mapped statement
 */
public MappedStatement getMappedStatement(String id) {
  MappedStatement ms = (MappedStatement) mappedStatements.get(id);
  if (ms == null) {
    throw new SqlMapException("There is no statement named " + id + " in this SqlMap.");
  }
  return ms;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:15,代码来源:SqlMapExecutorDelegate.java


示例12: setStatementTimeout

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
private static void setStatementTimeout(MappedStatement mappedStatement, Statement statement) throws SQLException {
  if (mappedStatement.getTimeout() != null) {
    statement.setQueryTimeout(mappedStatement.getTimeout().intValue());
  }
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:6,代码来源:DefaultSqlExecutor.java


示例13: insert

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Call an insert statement by ID
 *
 * @param sessionScope
 *          - the session
 * @param id
 *          - the statement ID
 * @param param
 *          - the parameter object
 * @return - the generated key (or null)
 * @throws SQLException
 *           - if the insert fails
 */
public Object insert(SessionScope sessionScope, String id, Object param) throws SQLException {
  Object generatedKey = null;

  MappedStatement ms = getMappedStatement(id);
  Transaction trans = getTransaction(sessionScope);
  boolean autoStart = trans == null;

  try {
    trans = autoStartTransaction(sessionScope, autoStart, trans);

    SelectKeyStatement selectKeyStatement = null;
    if (ms instanceof InsertStatement) {
      selectKeyStatement = ((InsertStatement) ms).getSelectKeyStatement();
    }

    // Here we get the old value for the key property. We'll want it later if for some
    // reason the
    // insert fails.
    Object oldKeyValue = null;
    String keyProperty = null;
    boolean resetKeyValueOnFailure = false;
    if (selectKeyStatement != null && !selectKeyStatement.isRunAfterSQL()) {
      keyProperty = selectKeyStatement.getKeyProperty();
      oldKeyValue = PROBE.getObject(param, keyProperty);
      generatedKey = executeSelectKey(sessionScope, trans, ms, param);
      resetKeyValueOnFailure = true;
    }

    StatementScope statementScope = beginStatementScope(sessionScope, ms);
    try {
      ms.executeUpdate(statementScope, trans, param);
    } catch (SQLException e) {
      // uh-oh, the insert failed, so if we set the reset flag earlier, we'll put the old
      // value
      // back...
      if (resetKeyValueOnFailure)
        PROBE.setObject(param, keyProperty, oldKeyValue);
      // ...and still throw the exception.
      throw e;
    } finally {
      endStatementScope(statementScope);
    }

    if (selectKeyStatement != null && selectKeyStatement.isRunAfterSQL()) {
      generatedKey = executeSelectKey(sessionScope, trans, ms, param);
    }

    autoCommitTransaction(sessionScope, autoStart);
  } finally {
    autoEndTransaction(sessionScope, autoStart);
  }

  return generatedKey;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:68,代码来源:SqlMapExecutorDelegate.java


示例14: beginStatementScope

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
protected StatementScope beginStatementScope(SessionScope sessionScope, MappedStatement mappedStatement) {
  StatementScope statementScope = new StatementScope(sessionScope);
  sessionScope.incrementRequestStackDepth();
  mappedStatement.initRequest(statementScope);
  return statementScope;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:7,代码来源:SqlMapExecutorDelegate.java


示例15: getMappedStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
public MappedStatement getMappedStatement(String id) {
  return delegate.getMappedStatement(id);
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:4,代码来源:SqlMapClientImpl.java


示例16: onExecuteStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * ExecuteListener event. This will be called by a MappedStatement for which this cache is registered as a
 * ExecuteListener. It will be called each time an executeXXXXXX method is called. In the case of the Cache class, it
 * is registered in order to flush the cache whenever a certain statement is executed. (i.e. the flushOnExecute cache
 * policy)
 *
 * @param statement
 *          The statement to execute
 */
public void onExecuteStatement(MappedStatement statement) {
  flush();
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:13,代码来源:CacheModel.java


示例17: getStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Get the statement for the request
 *
 * @return - the statement
 */
public MappedStatement getStatement() {
  return statement;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:9,代码来源:StatementScope.java


示例18: setStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Set the statement for the request
 *
 * @param statement
 *          - the statement
 */
public void setStatement(MappedStatement statement) {
  this.statement = statement;
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:10,代码来源:StatementScope.java


示例19: getMappedStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
/**
 * Gets a mapped statement by ID
 *
 * @param id
 *          - the ID
 * @return - the mapped statement
 */
public MappedStatement getMappedStatement(String id) {
  return delegate.getMappedStatement(id);
}
 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:11,代码来源:SqlMapSessionImpl.java


示例20: getMappedStatement

import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; //导入依赖的package包/类
MappedStatement getMappedStatement(String id); 
开发者ID:mybatis,项目名称:ibatis-2,代码行数:2,代码来源:ExtendedSqlMapClient.java



注:本文中的com.ibatis.sqlmap.engine.mapping.statement.MappedStatement类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SafeBufferedOutputStream类代码示例发布时间:2022-05-16
下一篇:
Java Builder类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap