您的位置:首页 > 其它

#{}和${}的区别及什么情况下必须使用${}

2018-02-24 22:33 323 查看
一、两者区别。
#{}:表示占位符,如果获取简单类型,#{}中可以使用value也可以使用其他名称;可以有效防止sql注入;设置参数时无需考虑参         数类型。
      使用oracle查询条件是日期类型,如果使用#{}则:
     select * from table where birthday >=#{birthday}
${}:表示sql拼接,如果获取简单类型,${}中只能使用value;无法防止sql注入;设置参数时必须考虑参数类型。
      使用oracle查询条件是日期类型,如果使用${}必须人为讲${}两边加单引号,再通过to date转日期型

      select * from table where birthday >=to_date('${birthday}','yyyy-MM-dd')
二、什么情况下必须使用${}?
 1.需要动态拼接表名时。
    select * from ${tablename}
 2.动态拼接排序字段。
    select * from table那么 order by ${username} de
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐