mybatis 的${} 与#{}

mybatis的占位符有两种${}与#{}两者的区别

区别

通过#{}传入的参数,mybatis会自动为其加上引号
通过${}传入的参数,mybatis不会为其加上引号
例如: value=11

 select * from user where  id=#{}
输出为 select * from user where id = '11'
select * from user where id = ${}
输出为 select * from user where id =11 

安全

${}会有sql注入的安全隐患,如 value = ‘1 or 1=1 ’
那么 sql 输出为 select * from user where id = 1 or 1=1 这个就等于没有了限制条件

用途

#{}多用于条件参数的传入
${}用于表明,数据库对象名, group by 排序

  value1='group by' value2='time'
  select * from user  ${value1} ${value2}
  输出 select * from user group by time 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值