对于@param的使用:
-
单个参数:
-
对于基本数据类型 包括string 加不加都可以
-
对于对象,加的话List<User> getUser(@Param("user") User user); 用以# {user.username}
不加则 getUser(User user); = #{username}
-
-
多个参数
-
对于基本数据类型,低版本mybatis要加
-
参数包含对象,加不加均可。getUser(String role,User user);
username = #{user.username} role = #{role}
-
-
集合
-
对于list:void insertUser(@Param("userList") List<User> userList);
<insert id="insertUser"> insert into user(username,password) values <foreach collection="userList" item="user"> (#{user.username}, #{user.password}) </foreach> </insert>
-
对于数组 collection=array
-
对于map 直接使用属性值即可 加@param 如@param(“test”) 用#{test.id}即可
-
后端是pojo(实体)或者map,前端必须传值为{} 后端是集合或者数组,前端必为[]
错误日志:
Uncaught (in promise) Error: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'xmbh' not found. Available parameters are [arg1, arg0, param1, param2] at _default
错误原因:前端传入多个参数(基本数据类型),在后端controller层接收参数,用@param注解给每个参数注解后,忘记了在mapper层给每个参数注解。
:注意后端接收多个参数不仅controller层用到@param还有mapper层。 :mapper.xml要用到的#{数据},所以mapper层也要接收
2024.6.18
标签:username,mapper,数据类型,param,参数,user,使用,Param From: https://blog.csdn.net/qq676752351/article/details/140816401