必收藏面试题:什么是SQL注入?以及Mybatis中#号和$号之间的区别?
先看两段代码,假如id的值为字符串"100",大家可以顺便想想每段代码最后拼接出来的SQL长什么样。字符串直接拼接参数通过占位符?和setString()方法拼接参数这两种方式有什么不同吗?通过占位符?看上去区别不大,但是对于id=100来说,id是varchar,100是int,对于mysql来说是要做类型转换的,这个过程其实是会导致问题的,下篇文章再来分析,关注我的公众号:IT周瑜通过占位符?仔细看看,看出区别没,直接拼接参数的将能查出全部数据,因为or 1=1生效了,而通过?
原创
2024-02-03 10:46:28 ·
908 阅读 ·
0 评论