MyBatisIbatis中#和$的总结

    xiaoxiao2021-03-25  82

    1.#号 解析时 会自动加引号 $不会 

    例:id = #{id} 传入id= 5  sql 解析成 id = '5'  如是${id}  则是id =5

    2.#号能很大程度防止sql注入 $不会

    例:登录时 执行sql -select * from user where username = #{username} and password = #{pwd}  

    如上sql 将# 换成$ pwd传值"' 1 ' or 1= 1"则 select * from user where username = abc and password = ' 1' or 1= 1 

    因or 1=1 永远成立则前面不管传何值都可成功

    3. $方式一般用于传入数据库对象 如表名

    4.原则上能用#号 就别用$

    转载请注明原文地址: https://ju.6miu.com/read-16976.html

    最新回复(0)