问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mybatis中 和$的区别

发布网友 发布时间:2022-09-05 12:20

我来回答

1个回答

热心网友 时间:2024-03-28 23:18

#相当于对数据 加上 双引号,$相当于直接显示数据

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.

3. #方式能够很大程度防止sql注入。

4.$方式无法防止Sql注入。

5.$方式一般用于传入数据库对象,例如传入表名.

6.一般能用#的就别用$.

MyBatis排序时使用order by 动态参数时需要注意,用$而不是#

字符串替换
默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用:
ORDER BY ${columnName}
这里MyBatis不会修改或转义字符串。

重要:接受从用户输出的内容并提供给语句中不变的字符串,这样做是不安全的。这会导致潜在的SQL注入攻击,因此你不应该允许用户输入这些字段,或者通常自行转义并检查。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
王奇 这个名字好不好 城建税等计入什么科目 灭火器多久保养一次 灭火器保养周期是多久? 朋友在北京想开一家超市的,请问什么地方适合?还有前期要准备什么? 恐龙宝宝漫游记之我爱我家2内容提要 我爱我家艳红为什么离婚 Faudel演唱的法语歌曲mon pays 的中文歌词,哈哈哈哈,谁有 Shy'm的Le blues de toi 歌词意思 ...那个t后面省略了什么 还有,希望能帮我翻译一下以下的歌词_百度... 地下城堡2小米版安卓APK如何下载 楚乔身上的彼岸花纹身为什么会消失 邓伦哭戏哭出双眼皮,盘点:明星哭戏哪家“强”? 纹身给人的固有印象就是不好,你爱豆纹身会介意吗? 《我们说好的》歌词表达什么意思?- 问一问 72岁的老人(男的)吃什么人参好. 急!三个专业词的德语翻译 与眼泪有关的句子 经典形容眼泪的句子 眼泪的优美句子-流泪时仰望天空的句子 关于眼泪的句子 vivox27一键清除锁屏密码 《庆余年》范若若的结局是什么? 武神赵公明符是怎么画的? 如何给幼儿园老师写感谢信 烦恼没有烦恼,除了呼吸没有什么大不了 大母的介绍 全自动洗衣机不洗涤什么原因 小烦恼没什么大不了完整版歌词 请问LM567和MOC3021组成的触发电路原理是什么 网友称从快本椅子的变化就能看出谢娜怀孕状况,节目中有哪些细节? qq空间照片怎样恢复清晰? 什么是教育技术能力? 全国中小学教师教育技术能力水平考试合格证书是什么 想买一个山地车座套,有硅胶的,记忆棉的,普通海绵的,不知道哪种好? 描写建筑之美的诗句 幼儿园老师励志座右铭 细胞通过___产生新细胞,细胞通过___形成不同的组织 房价低于市场价多少无效 如果你喜欢的女孩把你的删除了,你会怎样做? 是细胞构成组织的吗 细胞___形成组织 细胞___形成不同的组织. 分证到期可以在广东换吗 细胞什么形成各种组织,由组织形成什么,由什么构成了系统。 种子萌发后细胞经过什么形成各种组织器官? 人的受精卵经过细胞什么和形什么形成什么组织 想知道文山至海口的航班信息,春节期间想去那里玩一下 最贵Redmi红米产品来了:19999元,真的不能随便买买买 小米路由器运营商密码设置错误,怎么办,急急急 非农数据对金价的影响大不大?