61. mybatic insert异常:BindingException: Parameter 'name' not found【从零开始学Spring B】

来源:互联网 发布:聚合数据接口使用 编辑:程序博客网 时间:2024/06/01 20:46

mybatic insert异常:BindingException: Parameter 'name' not found

       【从零开始学习Spirng Boot—常见异常汇总】

 

       异常信息如下:

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

       出现这个异常的原因是因为你在使用@insert的使用,没有进行相应的字段对应关系。

 

 

     如下的代码就会报如上的错误:

Java代码  收藏代码
  1. @Insert("insert into Demo(name,password) values(#{name},#{password})")  
  2. publicvoid save(String name,String password);  

 

   

 

   那么怎么修改呢?正确的代码应该如下:

Java代码  收藏代码
  1. @Insert("insert into Demo(name,password) values(#{name},#{password})")  
  2. publicvoid save(@Param("name") String name,@Param("password") String password);  

 

这里使用@Param设置参数的对应关系。

 

但是如下的代码就不会报错:

Java代码  收藏代码
  1. @Insert("insert into Demo(name,password) values(#{name})")  
  2. publicvoid save(String name);  

 

 

当 insert 语句中只有一个参数的,对应的void save方法不需要做任何特殊处理(不需要加@Param也是可以对应上的),当有多个参数的时候,需要使用@Param注解进行字段的对应。

 

0 0
原创粉丝点击