sql中#与$有什么区别

2023年 4月 19日 48.4k 0

本篇文章给大家介绍一下sql中#与$的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 在这里用到了#{},使用#时: 1、用来传入参数,sql在解析的时候会加上

本篇文章给大家介绍一下sql中#与$的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

在这里用到了#{},使用#时:

1、用来传入参数,sql在解析的时候会加上“”,当成字符串来解析 ,如这里 role_id = “roleid”;

2、#{}能够很大程度上防止sql注入;

延伸:

1、用传入数据直接显示在生成的sql中,如上面的语句,用roleid=传入数据直接显示在生成的sql中,如上面的语句,用roleid={roleId,jdbcType=INTEGER},那么sql在解析的时候值为roleId = roleId,执行时会报错;

2、${}方式无法防止sql注入;

3、$一般用入传入数据库对象,比如数据库表名;

4、能用#{}时尽量用#{};

注意:

mybaties排序时使用order by 动态参数时需要注意,使用${}而不用#{};

相关推荐:《mysql教程》

以上就是sql中#与$有什么区别的详细内容,更多请关注每日运维其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论