博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis$和#的区别
阅读量:5896 次
发布时间:2019-06-19

本文共 595 字,大约阅读时间需要 1 分钟。

select * from everstar.Questions where ProductType = 'productType'

select * from everstar.Questions where ProductType = '${productType}'
select * from everstar.Questions where ProductType = #{productType}

最直观的区别就是${}取出来的值直接就是传过来的数据,对于字符串而言需要加''单引号

用过jdbcTemplate的人应该知道,${}就类似于execute()而#{}类似于update().

#{}跟jdbc的prepareStatement是一样的道理。

跟hibernate的setParameter是一个吊样,都可以防止sql注入。

而#{}取值会默认加'',会根据类型来判断的。

 ${ } 变量的替换阶段是在动态 SQL 解析阶段,而 #{ }变量的替换是在 DBMS 中。

  • #方式能够很大程度防止sql注入。
  • $方式无法防止Sql注入。
  • $方式一般用于传入数据库对象,例如传入表名.

mybatis会用到的所有标签

图片总结很到位,具体用法  (ゝω・) テヘペロ  

转载于:https://www.cnblogs.com/chywx/p/9448467.html

你可能感兴趣的文章
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
3.1链表----链表(Linked List)入门
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
游戏音效下载网站大全
查看>>
实验五
查看>>
程序包+创建包规范+创建包体+删除程序包
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>
FreeRTOS的内存管理
查看>>
JSP----九大内置对象
查看>>
Java中HashMap详解
查看>>
delphi基本语法
查看>>
沙盒目录介绍
查看>>
260. Single Number III
查看>>
Hadoop生态圈-Kafka的完全分布式部署
查看>>