Henizyang
2017-02-28 18:52
我打开RoutingStatementHandler发现
private final StatementHandler _flddelegate;
所以我在老师用delegate的地方都使用的是_flddelegate 但是却报错 如果用delegate就不报错
不太理解 请大神指点
package org.apache.ibatis.executor.statement;
import java.sql.*;
import java.util.List;
import org.apache.ibatis.cursor.Cursor;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.executor.ExecutorException;
import org.apache.ibatis.executor.parameter.ParameterHandler;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
// Referenced classes of package org.apache.ibatis.executor.statement:
// StatementHandler, SimpleStatementHandler, PreparedStatementHandler, CallableStatementHandler
public class RoutingStatementHandler
implements StatementHandler
{
public RoutingStatementHandler(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql)
{
static class _cls1
{
static final int $SwitchMap$org$apache$ibatis$mapping$StatementType[];
static
{
$SwitchMap$org$apache$ibatis$mapping$StatementType = new int[StatementType.values().length];
try
{
$SwitchMap$org$apache$ibatis$mapping$StatementType[StatementType.STATEMENT.ordinal()] = 1;
}
catch(NoSuchFieldError nosuchfielderror) { }
try
{
$SwitchMap$org$apache$ibatis$mapping$StatementType[StatementType.PREPARED.ordinal()] = 2;
}
catch(NoSuchFieldError nosuchfielderror1) { }
try
{
$SwitchMap$org$apache$ibatis$mapping$StatementType[StatementType.CALLABLE.ordinal()] = 3;
}
catch(NoSuchFieldError nosuchfielderror2) { }
}
}
switch(_cls1..SwitchMap.org.apache.ibatis.mapping.StatementType[ms.getStatementType().ordinal()])
{
case 1: // '\001'
_flddelegate = new SimpleStatementHandler(executor, ms, parameter, rowBounds, resultHandler, boundSql);
break;
case 2: // '\002'
_flddelegate = new PreparedStatementHandler(executor, ms, parameter, rowBounds, resultHandler, boundSql);
break;
case 3: // '\003'
_flddelegate = new CallableStatementHandler(executor, ms, parameter, rowBounds, resultHandler, boundSql);
break;
default:
throw new ExecutorException((new StringBuilder()).append("Unknown statement type: ").append(ms.getStatementType()).toString());
}
}
public Statement prepare(Connection connection, Integer transactionTimeout)
throws SQLException
{
return _flddelegate.prepare(connection, transactionTimeout);
}
public void parameterize(Statement statement)
throws SQLException
{
_flddelegate.parameterize(statement);
}
public void batch(Statement statement)
throws SQLException
{
_flddelegate.batch(statement);
}
public int update(Statement statement)
throws SQLException
{
return _flddelegate.update(statement);
}
public List query(Statement statement, ResultHandler resultHandler)
throws SQLException
{
return _flddelegate.query(statement, resultHandler);
}
public Cursor queryCursor(Statement statement)
throws SQLException
{
return _flddelegate.queryCursor(statement);
}
public BoundSql getBoundSql()
{
return _flddelegate.getBoundSql();
}
public ParameterHandler getParameterHandler()
{
return _flddelegate.getParameterHandler();
}
private final StatementHandler _flddelegate;
}
而且名字在最后了
我练习时使用的是3.4.1,该版本中还是delegate,不知道你说的新版是哪个版本?
public class RoutingStatementHandler implements StatementHandler {
private final StatementHandler delegate;
通过自动回复机器人学Mybatis---加强版
53664 学习 · 112 问题
相似问题