Mybatis的#{}和${}的区别

  • #{}:在mybatis中代表一种占位符,在大括号中编写参数名称接收对应的输入参数。接收的参数可以是简单类型,普通Javabean或者HashMap。接收简单类型时,大括号中可以写value来代替参数名称。 (简单来说就是经过预编译的,使用的是preparedStatement)
  • $ {}:在mybatis中,$ {}在SQL配置文件中代表拼接符号,可以在原有SQL语句中拼接上新的SQL语句,要注意的是,使用$ {}拼接符号拼接SQL语句会引起SQL注入。当接收简单类型时,大括号内只能写value。(没有经过预编译,数据直接显示,statement)
  • 那么要如何正确拼接SQL语句?
    例子:select * from User where username like concat(’%’,#{username},’%’)
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页