Package com.ibatis.sqlmap.engine.mapping.statement

Examples of com.ibatis.sqlmap.engine.mapping.statement.MappedStatement


            DEBUG.P("paramObject=" + paramObject);
            DEBUG.P("resultObject=" + resultObject);

            Object object = null;

            MappedStatement ms = getMappedStatement(id);

            DEBUG.P("ms=" + ms);

            Transaction trans = getTransaction(sessionScope);

            DEBUG.P("trans=" + trans);

            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);
View Full Code Here


            DEBUG.P("skip=" + skip);
            DEBUG.P("max=" + max);

            List list = null;

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

            DEBUG.P("trans1=" + trans); //通常为null
            boolean autoStart = trans == null;

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

                DEBUG.P("trans2=" + trans); //如com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction

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

                    DEBUG.P("list=" + list); //通常为null
                } finally {
                    endStatementScope(statementScope);
                }
View Full Code Here

     * @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);
View Full Code Here

            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))
                    ;
            }
        }
View Full Code Here

            TypeHandlerFactory typeHandlerFactory = getDelegate().getTypeHandlerFactory();

            String statementName = mapping.getStatementName();
            SqlMapClientImpl client = (SqlMapClientImpl) statementScope.getSession().getSqlMapClient();

            MappedStatement mappedStatement = client.getMappedStatement(statementName);
            Class parameterType = mappedStatement.getParameterClass();
            Object parameterObject = null;

            if (parameterType == null) {
                parameterObject = prepareBeanParameterObject(statementScope, rs, mapping, parameterType);
            } else {
                if (typeHandlerFactory.hasTypeHandler(parameterType)) {
                    parameterObject = preparePrimitiveParameterObject(rs, mapping, parameterType);
                } else if (DomTypeMarker.class.isAssignableFrom(parameterType)) {
                    parameterObject = prepareDomParameterObject(rs, mapping);
                } else {
                    parameterObject = prepareBeanParameterObject(statementScope, rs, mapping, parameterType);
                }
            }

            Object result = null;
            if (parameterObject != null) {

                Sql sql = mappedStatement.getSql();
                ResultMap resultMap = sql.getResultMap(statementScope, parameterObject);
                Class resultClass = resultMap.getResultClass();

                if (resultClass != null && !DomTypeMarker.class.isAssignableFrom(targetType)) {
                    if (DomCollectionTypeMarker.class.isAssignableFrom(resultClass)) {
View Full Code Here

TOP

Related Classes of com.ibatis.sqlmap.engine.mapping.statement.MappedStatement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.