您当前的位置: 首页 >  mybatis

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MyBatis中$与#的区别

梁云亮 发布时间:2020-04-19 10:32:01 ,浏览量:2

在编写MyBatis的映射语句时,尽量采用#{}的格式;若不得不使用${}的参数,需要要手工地做好过滤工作,来防止SQL注入攻击

  • #{}:相当于PreparedStatement。#{}是编译好SQL语句再取值,它是经过预编译的,是安全的。
  • ${}:相当于Statement。取值以后再去编译SQL语句,它是输出变量的值。${}是未经过预编译的,是非安全的,存在SQL注入的问题。
  • 当需要直接插入一个不做任何修改的字符串到SQL语句中时,应该使用${}语法。
  • 当使用${}参数作为字段名或表名时、需指定statementType为"STATEMENT"。
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0422s