#{} 和 ${}区别

1、参数是Integer类型时候没区别(#是预编译SQL,$是即时SQL)

2、当参数是String类型时,就会出错了

(1)这是$的报错信息,因为我们的参数admin并没有加引号所以不满足字符串条件

(2)正确的SQL

(3)改正的办法(给${name}加上单引号)

3、#{} 和 ${} 的区别就是预编译SQL和即时SQL 的区别

4、SQL的执行流程

(1)解析语法,检验SQL有没有问题

(2)SQL优化,编译,制定执行计划

(3)执行SQL

5、

(1)#的SQL效率更高

(2)#的SQL更安全(防⽌SQL注⼊)

6、SQL注入

(1)' ' or 1='1'(这人就成了为空或者1等于1)此时这个代码就成恒成立的了,会把我们所有的数据都显示出来
(2)他可能会对我们的数据库进行更改或者删除操作(' ' ;drop table XX;--')'   '两个引号是一个语句,但是真正执行的时候后面的引号被我们注掉了,就成了两个执行语句,一个空,一个删除语句(这个问题现在已经被MyBatis解决掉了,被MyBatis拦截了)
(3)此时用List接受的话,就会把所有东西数据都返回出来
(4)并不是写了一定会有问题,可以用输入验证的方法来避免
7、$存在的意义(不需要加引号的时候不能用#,例如表名,字段名,列名等)
当我们需要对数据进行逆序正序排序的时候
(1)使用#(错误)
会执行失败因为我们用#我们的SQL识别的代码是
desc上多了个引号,所以会报错,不能有这两个单引号
(2)使用$(正确)
(3)如何避免SQL注入
(3.1)
(3.2)不接受用户url输入的参数,参数由后台来处理
8、模糊查询
(1)通过$来实现(这个方法没法换成#)
(2)利用CONCAT函数来使用#实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/596919.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实现获取某手视频评论【自动生成did】

今天在获取某手视频评论的时候,总是会出发风控导致web_did失效,就算登录了也没用,还会导致账号被风控,app端抓包和逆向难度又大,那么有没有一种不需要登录而且不会出发风控的方法来获取评论列表呢?当然有&a…

Dev c++ C语言实现第一个 dll 动态链接库 创建与调用

代码来源: 极简版 C 动态链接库(DLL)创建与调用 - 知乎 (zhihu.com) 现在移植到Devc 里 首先创建DLL 项目,如果不创建,直接粘贴代码编译不通过,应该是项目里指定了链接类型。 如图: 然后选择…

重磅!天途推出平安校园管理平台

天途平安校园管理平台,是围绕校园安全事件开发的一款智能监控与巡逻系统。系统通过大疆机场、无人机和校园内的监控硬件等多端传输的视频和图片信息,经过 AI分析处理后形成告警信息并及时通知学校安保人员。 天途平安校园管理平台 平安校园管理平台优势 …

【动态规划】【01背包】Leetcode 416. 分割等和子集

【动态规划】【01背包】Leetcode 416. 分割等和子集 ---------------🎈🎈416. 分割等和子集 题目链接🎈🎈------------------- 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0…

第一次在msf控制台中运行search命令提示Module database cache not built yet问题解决

0x00 问题描述 在新装的kali虚拟机中使用msfconsole执行search命令时提示Module database cache not built yet问题,显然,是我们相关的数据库缓存存在问题。 故障现象: 0x01 启动数据库服务 msf中的search功能是基于postgresql来实现的&am…

各类系统业务功能架构图整理

一、前言 很多软件系统一直经久不衰,主要这些系统都是一些生产工作经营不可或缺的系统。比如财务系统,商城系统,支付系统,供应链系统,人力资源管理系统,ERP系统等等。这些系统不管大公司还是小公司往往都需…

HTML5.Canvas简介

1. Canvas.getContext getContext(“2d”)是Canvas元素的方法,用于获取一个用于绘制2D图形的绘图上下文对象。在给定的代码中,首先通过getElementById方法获取id为"myCanvas"的Canvas元素,然后使用getContext(“2d”)方法获取该Ca…

信号处理之(文件批处理+小波分解+波形图的生成)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前期准备工作之数据自动读取二、前期准备工作之信号分解(小波分解)三、前期准备工作之数据可视化(波形图展示&#xff0…

力扣Lc29---- 541. 反转字符串 II(java版)-2024年4月06日

1.题目描述 2.知识点 (1)执行步骤如下: 初始化 s “abcdefg” 和 k 2 将字符串分割成长度为 2k 4 的块。 对每个块中的前 k 2 个字符进行反转。 执行过程 1)第一次循环(i 0) start 0 end Math.min(0…

RobotFramework测试框架(12)--第三方库

Library 关于射频指南 |机器人框架 (robotframework.org) 使用RF需要使用Library,常用的第三方库如下: 在web浏览器中进行web应用程序测试可以使用的库是 Selenium Library 在内部使用流行的 Selenium 工具的 Web 测试库Browser Library 由 Playwri…

JavaWeb前端基础(HTML CSS JavaScript)

本文用于检验学习效果&#xff0c;忘记知识就去文末的链接复习 1. HTML 1.1 HTML基础 结构 头<head>身体<body> 内容 图片<img>段落<p>图标<link> 标签 单标签双标签 常用标签 div&#xff1a;分割块span&#xff1a;只占需要的大小p&…