• 浅谈mybatis中#{}和${}的区别


    #{}:表示占位符,如果获取简单类型,#{}中可以使用value或其它名称。有效防止sql注入。使用#{}设置参数无需考虑参数的类型。

    如果使用#{}比较日期字段,select* from tablename where birthday >=#{birthday}

    ${}:表示sql拼接,如果获取简单类型,#{}中只能使用value 。无法防止sql注入。使用${}设置参数必须考虑参数的类型,比如:使用oracle查询条件是日期类型,如果使用${},必须人为将${}两边加单引号通过to_date转日期。

    Select * fromtable where birthday >=to_date(‘${birthday}’,’yyyy-MM-dd’)

     

    在没有特殊要求的情况下,建议使用#{}占位符

    有些情况必须使用${},

    比如:需要动态拼接表名,Select *from ${tablename}

    动态拼接排序字段:select *from tablename order by ${username} desc

  • 相关阅读:
    chrome开发者工具使用方法。
    模拟window的history对象
    浏览器后退刷新(通过浏览器按钮)
    日常口语十
    日常口语九
    日常口语八
    日常口语七
    日常口语五
    日常口语五
    日常口语四
  • 原文地址:https://www.cnblogs.com/chunguang-yao/p/10666444.html
Copyright © 2020-2023  润新知