当前位置: 首页>>代码示例>>Java>>正文


Java MappedStatement类代码示例

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


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


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