模糊查询-防止sql注入

在mapper中写 模糊查询,按名称查询时,直接在sql语句中写%x%,等于写死在里面了,以后
每次查询都需要改动,那怎么办呢?

1.加入concat()关键字:concat('%',#{name},'%')  不常用,比较麻烦。动态参数 底层调用parperedStatement 可防止sql注入

2.'%' #{name} '%'  常用  中间有空格注意。动态参数 底层调用parperedStatement 可防止sql注入  常用。指编译一次。执行效率高,替换数据。

3.'%${value}%'  中间只能写value ,固定写法。字符串拼接 底层调用statement 会造成sql注入。不能用。有几条编译几次,效率低。

还有要注意,只要模糊查询条件不是来自表单,就不会有sql注入的问题,但是一旦来自表单,就会出现sql注入的问题。

 

所以推荐 2

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值