@Param的使用

对于@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层给每个参数注解。

:注意后端接收多个参数 mapper层要加@param注解。


2024.6.18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值