@param(”xxxx“)

我遇到的问题,MyBatis需要传入的参数有三个,(list+另外的两个普通参数)

将三个参数封装进实体类里,传参实体类,因为一开始使用了@param(“xxxx”)注解,未对应上xml文件

  • 修改collection=“xxxx.userIds"

  • 或者不使用@param(”xxxx“)注解

首先明确这个注解是为SQL语句中参数赋值而服务的。

@Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param("userId") int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。
  • 如果mapper层传输参数为两个或多个属性,建议用@param()方便外部取出所传参数

  • 如果mapper层传输参数为一个属性,没必要用,因为就一个,不会认错

  • 如果mapper层传输参数为一个实体类,没必要用,会自动解析

  • @Param注解JavaBean对象,SQL语句通过@Param注解中的别名把对象中的属性取出来然后复制

    mapper中的方法: 
    public List<User> getAllUser(@Param("user") User u);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值