MyBatis 参数处理- 【006】

MyBatis

  • 单个参数:MB不会做特殊处理,直接使用#{id}取出参数值
  • 多个参数:MB会做特殊处理,将参数封装成一个map,键为param1-paramn,使用#{param1}取出参数值(局限性:如果参数数量过多,会导致参数名混乱)
  • 命名参数:(明确指定封装参数时map的key,多个参数会被封装成一个map,key为注解指定的值,value为参数值)在参数列表使用注解@Param(“id”)将参数命名,可以直接使用#{id}取值
  • 如果多个参数是业务逻辑的数据模型,可以直接传入POJO,使用#{属性值},获取传入的属性值
  • Map:如果多个参数不是业务模型中的数据,没有对应的POJO,不经常使用,为了方便,可以传入map,#{key},取出map中对应的值。
    在这里插入图片描述
  • TO(Transfer Object):如果多个参数不是业务模型中的数据,但是经常使用,建议使用编写一个TO(数据传输对象):
  • page{
  • int index;
  • int size;
    }

应用场景:

在这里插入图片描述

参数值的获取

  • #{}:以预编译的形式,将参数设置到sql语句中,PreparedStatement,防止sql注入。
  • ${}:直接拼接在sql语句中,会有安全问题
  • 大多数使用#{},在原生sql不支持占位符预编译位置(分表、排序等),使用${}
  • #{}更多的用法:
    在这里插入图片描述


喜欢的话可以点点关注,或者添加作者微信,欢迎随时来撩
Chase

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值