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的使用,没有进行相应的字段对应关系。
如下的代码就会报如上的错误:
@Insert("insert into Demo(name,password) values(#{name},#{password})")publicvoid save(String name,String password);
那么怎么修改呢?正确的代码应该如下:
@Insert("insert into Demo(name,password) values(#{name},#{password})")publicvoid save(@Param("name") String name,@Param("password") String password);
这里使用@Param设置参数的对应关系。
但是如下的代码就不会报错:
@Insert("insert into Demo(name,password) values(#{name})")publicvoid save(String name);
当 insert 语句中只有一个参数的,对应的void save方法不需要做任何特殊处理(不需要加@Param也是可以对应上的),当有多个参数的时候,需要使用@Param注解进行字段的对应。
【Spring Boot 系列博客】
更多查看博客: