从 Mysql 收集数据时绑定异常参数错误

Binding Exeception parameter error while collecting data from Mysql

我正在使用以下代码从 table 中获取 Mysql 数据:

public class NagaGetVariableValuesMapper extends NagaStringMapper {
    private String variableName;
    private String variableValue;

    public NagaGetVariableValuesMapper(String variableName,String variableValue) {
        this.variableName = variableName;
        this.variableValue=variableValue;
    }

    public CustomSqlExecution<WorkflowValuesMapper, List<Map<String, Object>>> buildExecution() {
        return new AbstractCustomSqlExecution<WorkflowValuesMapper, List<Map<String, Object>>>(WorkflowValuesMapper.class) {
            public List<Map<String, Object>> execute(WorkflowValuesMapper customMapper) {
                return customMapper.nagaFindVariable(variableName, variableValue);
            }
        };
    }

    @Override
    public List<WorkflowResultDisplayObject> processResults(List<Map<String, Object>> results) {
        return processResults(results, "variableName","variableValue");
    }
}

映射文件在这里

@Select({ "select *  from ACT_RU_VARIABLE var inner join ACT_RU_TASK task on var.PROC_INST_ID_ = task.PROC_INST_ID_ "
            + "where var.TEXT_ = #{variableName} and var.NAME_ = #{variableValue}"})
    List<Map<String, Object>> nagaFindVariable(String variableName, String variableValue);

但是当我尝试获取数据时,出现以下错误:

查询数据库时出错。原因:org.apache.ibatis.binding.BindingException:未找到参数 'variableName'。可用参数为 [0, 1, param1, param2]

原因:org.apache.ibatis.binding.BindingException:未找到参数 'variableName'。可用参数为 [0, 1, param1, param2]

尝试使用此导入添加注解@Param,如下所示。

import org.apache.ibatis.annotations.Param;

List<Map<String, Object>> nagaFindVariable(
   @Param("variableName") String variableName, 
   @Param("variableValue") String variableValue
);

不要忘记使用正确的导入。 如果您使用错误的导入,您的错误将是相同的。

参考:nested exception is org.apache.ibatis.binding.BindingException: Parameter 'tagId' not found. Available parameters are [0, 1, param1, param2]