牧码

时间不多,道路很长

MyBatis中 # 和 $ 的区别?

#相当于对数据加上双引号,$相当于直接显示数据

  1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sq 时的值为:order by “111”;如果传入的值是id,则解析成的sql为:order by “id”
  2. $将传入的数据直接显示生成在sql中。如:order by useriduser_id,如果传入的值是111,那么解析成sql 时的值为:order by user_id,;如果传入的值是id,则解析成的sql为:order by id
  3. #方式能够很大程度防止sql 注入
  4. $方式无法防止sql注入
  5. $方式一般用于传入数据库对象,例如传入表名
  6. 一般能用#的就别用$
posted @ 2019-01-03 17:20  脚印在泥泞路上  阅读(191)  评论(0)    收藏  举报