异常详细描述
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [arg1, arg0, param1, param2]
原因
因为mybatis的dao接口中的方法,只支持一个javabean(单个参数),如果是多个参数需要借助@Param注解.
原报错方法:
@Mapper
public interface DemoMapper {
@Select("select * from demo where id=#{id}")
public Demo selectOneDemoById(Integer id);
@Insert("insert into demo(id,name) values(#{id},#{name})")
public boolean insertDemo(Demo demo);
@Update("update demo set name=#{name} where id=#{id} ")
public void update(Integer id,String name);//报错点
}
修改后:
@Mapper
public interface DemoMapper {
@Select("select * from demo where id=#{id}")
public Demo selectOneDemoById(Integer id);
@Insert("insert into demo(id,name) values(#{id},#{name})")
public boolean insertDemo(Demo demo);
@Update("update demo set name=#{name} where id=#{id} ")
public void update(@Param("id") Integer id,@Param("name") String name); //修改后
}