使用框架mybatis编写数据库的CURD,不可避免的会遇到org.apache.ibatis.binding.BindingException类型的报错,对于这一报错又分为多种类型的报错,如下是我遇到的报错类型,以后遇到其他类型再增加。
报错类型1:
Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘group_info’ not found. Available parameters are [0,1, 2,param3, param1, param2]
比如原代码如下
public List<accountOverview> queryAccountInfo(String group_info,int partment_id,int project_id);
dao层代码要在形参前加上@Param(“group_info”) 参数
public List<accountOverview> queryAccountInfo(@Param("group_info") String group_info,@Param("partment_id") int partment_id,@Param("project_id") int project_id);
报错类型2:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.iflytek.cloud.instanceConfig.dao.InstanceConfigMapper.queryInstanceConfigList
造成这一报错的原因可以大致分为两种:
1.mapper文件中的命名空间路径有问题
<mapper namespace="com.iflytek.cloud.instanceConfig.dao.InstanceConfigMapper">
</mapper>
2.如果不是第一条的原因,那么就是根本没有在这个mapper文件中写这个增删改查的id的SQL语句。