java - 从Mysql收集数据时绑定异常参数错误
问题描述
我正在使用以下代码从表中获取 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
);
不要忘记使用正确的导入。如果您使用错误的导入,您的错误将是相同的。
推荐阅读
- javascript - 当父级运行 setState 时避免子级重新渲染
- opencv - 如何在图像中检测计算机/笔记本电脑的屏幕?
- c++ - 为什么在具有相同签名的模板化和非模板化函数之间进行选择时没有歧义?
- php - PHP 比较小于一
- batch-file - &此时出乎意料
- r - R中Rainfall栅格的Mannkendall趋势分析及其解释
- javascript - JavaScript 只调用标头
- ibm-cloud - 如何将 IBM Watson Assistant 聊天机器人嵌入另一个 HTML 页面
- apache-spark - Spark SQL 中的 Sort by 与数据集 API 的排序与 Spark SQL 中的 Order by 有什么区别?
- word2vec - word2vec 词汇表中缺少单词