MyBatis BindingException 参数绑定异常介绍
BindingException 异常是 MyBatis 框架中自定义的异常,顾名思义指的是绑定出现问题。
在 MyBatis 框架中,有很多情况下会出现绑定问题。本文主要给大家介绍一下参数绑定异常的情况,如下所示:
<insert id="insertUser" parameterType="User">
insert into users (id, username, password)
values (#{id}, #{username}, #{password})
</insert>
如果 User 类型的参数对象传递到了语句中,会查找 id、username 和 password 属性,然后将它们的值传入预处理语句的参数中。但是,如果使用 Map 类型的参数:
<insert id="insertUser" parameterType="map">
insert into users (id, username, password)
values (#{id}, #{username}, #{password})
</insert>
则上面是SQL执行过程中会发出问题:
throw new BindingException("Parameter '" + key + "' not found. Available parameters are " + keySet());
这是因为在MyBatis中当有两个及两个以上的多个参数用Map类型传入时,key的命名方式应该是param1、param2…或者arg0、arg1…的形式。