我是靠谱客的博主 精明鼠标,这篇文章主要介绍mybatis中的sql语句中#{}和${}的区别,现在分享给大家,希望可以做个参考。

先直接说用法:

    一般参数传递用#{},在sql相当于占位符,sql执行时参数带引号“”

    在进行group by 或order by 的时候,使用${},sql执行的时候不带引号

原则:能用#的地方不要用$,避免sql注入,安全


列个例子供参考:

    1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".
  
2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id,  如果传入的值是id,则解析成的sql为order by id.

最后

以上就是精明鼠标最近收集整理的关于mybatis中的sql语句中#{}和${}的区别的全部内容,更多相关mybatis中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部