侧边栏壁纸
博主头像
帮主の后花园博主等级

欢迎光临,开开心心每一天

  • 累计撰写 21 篇文章
  • 累计创建 5 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

mybatis是如何防止sql注入的?

Gxbalun
2022-03-12 / 1 评论 / 2 点赞 / 802 阅读 / 341 字

#会先将sql预编译,然后底层使用PreparedStatement的set方法进行参数设置。

$将传入的数据直接将参数拼接在sql中。

因此,#与$相比,#很大程度的防止sql注入。例如:

select * from user where id = #{id}
最终sql:
select * from user where id = ?

select * from user where id = ${id}
最终sql:
select * from user where id = 1
2

评论区