• mybatis #{}和${}区别


    区别1

    • #{}:相当于JDBC Sql语句中的占位符?(PreparedStatement),可以防止Sql注入
    • ${}:相当于JDBC Sql语句中的连接符号+(Statement),不能防止Sql注入

    区别2

    • #{}:进行输入映射的时候,会对参数进行类型解析(如果是String类型,那么Sql语句会自动加上' ')
    • ${}:进行输入映射的时候,将参数原样输出到SQL语句中 -->相当于replace替换相应位置的值

      注:模糊搜索时,注意使用的是${},如果使用的是#{},会在两头加上'',此时sql语句变成:select * from user where username like '%'张三'%';这样不就报错了嘛

    区别3

    • #{}:如果进行简单类型(String、Date、8种基本类型的包装类)的输入映射时,#{}中参数名称可以任意
    • ${}:如果进行简单类型(String、Date、8种基本类型的包装类)的输入映射时,#{}中参数名称必须是value

  • 相关阅读:
    08-Linux命令【rm】
    07-Linux命令【mv】
    06-Linux命令【cp】
    05-Linux命令【rmdir】
    04-Linux命令【mkdir】
    03-Linux命令【ls】
    02-Linux命令【cd】
    01-Linux命令【pwd】
    智慧城市3D园区
    自我觉醒
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/12901693.html
Copyright © 2020-2023  润新知