,mybatisplus mybatis区别
Yyds干货库存
/*
**csdn认证讲师
* 51岁至高级讲师
*腾讯课堂认证讲师
*网易云课堂认证讲师
*华为开发者学院认证讲师
*爱奇艺千人计划成员
*在这里分享你的科技、知识和生活。
*各种干货,记得关注!
*/
#相当于给数据加上双引号,$相当于直接显示数据。
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.$ method通常用于传入数据库对象,如表名和列名。
6.如果一般可以用#,就不要用$了。
在对MyBatis进行排序时,您应该注意order by动态参数的使用,并使用$而不是#
字符串替换
默认情况下,使用# {}格式的语法会导致MyBatis创建一个预处理语句属性,并在其后台设置一个安全值(比如?)。这样安全快捷,是首选。有时您只想将一个不可更改的字符串直接插入到SQL语句中。例如,像ORDER BY,您可以这样使用它:
ORDER BY { column name }
MyBatis在这里不修改或转义字符串。
重要:接受用户输出的内容并将其提供给语句中不可更改的字符串是不安全的。这将导致潜在的SQL注入,所以你不应该允许用户进入这些领域,或通常逃脱,并检查他们自己。
更多关注
https://edu.51cto.com/course/21604.html
版权归作者所有:原创作品来自博主戴萌先生的博客号,转载授权请联系作者,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。