当前位置: 首页 > news >正文

网站设计与制作优点建设网站的要点

网站设计与制作优点,建设网站的要点,wordpress搜索ajax,网站设计流程及制作流程目录 概述 #{} 与 ${} 概述 前端恶意传参,改变后端 sql 语句的语法结构,从而使后端给前端返回一些私密的数据。这种安全问题往往是因为没有严格过滤参数,或者后端代码不严谨导致的。 #{} 与 ${} 在 MyBatis 框架中,#{} 与 ${} 都…

目录

概述

#{} 与 ${}


概述

        前端恶意传参,改变后端 sql 语句的语法结构,从而使后端给前端返回一些私密的数据。这种安全问题往往是因为没有严格过滤参数,或者后端代码不严谨导致的。

#{} 与 ${}

        在 MyBatis 框架中,#{} 与 ${} 都表示占位符,方便灵活传参。如下代码

@Select("select * from user_info where username= #{name} ")
UserInfo queryByName(String name);

        #{} 使用的是 预编译 sql , ${} 使用的是 及时 sql

        及时 sql :sql 语句要先经过 词法分析,语法分析,语义分析,再把优化后的 sql 喂给数据库执行。

        也就是说,${} 占位符传过来的参数是要参与 sql 语法构建的,如果参数中带有一些 sql 的关键字,会在词法分析时被识别成 sql 的关键字。

        预编译 sql : 会把编译好的 sql 缓存起来,当要使用该 sql 时,不会再进行 词法分析,语法分析,语义分析。

        如此一来,不仅提高了 sql 的执行效率,#{} 传过来的参数不会参与 sql 的语法构建。

        #{} 占位符会会根据类型,自动拼接 ' ' ,${} 会对参数直接进行替换,如果参数为字符串,需要加   ' ' 号。如下代码

@Select("select * from user_info whereusername= '${name}' ")
UserInfo queryByName(String name);

        因为 #{} 占位符会拼接 '' 号,在一些 sql 中,并不需要加单引号,就必须使用 ${} 占位符。如下示例

@Select("select * from user_info order by id ${sort}")
public List<UserInfo> selectUserSortById(String sort);
http://www.dtcms.com/a/420387.html

相关文章:

  • composer 安装与开启PHP扩展支持
  • lamp网站开发黄金组合 pdfapp手表
  • wordpress 站点错误东莞企业网络营销平台
  • html做网站的毕业设计酒水包装设计公司
  • wordpress设置教程视频快速网站优化技巧
  • 大管家抖音短视频视频解析工具
  • 建网站买完域名后怎么做sem搜索
  • 数字经济时代医疗业务系统面临的挑战与应对策略研究报告
  • 潍坊网站建设top个人网站建设实训目的
  • 如何查询网站的注册信息小程序直播助手
  • 建立企业网站的技能用dw做网站的菜单栏
  • 宁夏石嘴山市城乡建设局提意见网站怎么网页下载jpg格式图片
  • 电动修眉刀MCU方案开发,基于国产单片机方案设计
  • 青岛做网站企业排名燕郊做网站公司
  • 购买qq空间访客的网站网络营销课程ppt
  • Coze源码分析-资源库-编辑插件-前端源码-核心组件
  • 校园网站平台建设标准化建设考评网站
  • DKD论文阅读
  • 如何用表格做网站wordpress 插件语言
  • 项目建设管理 公司 网站德城区建设局网站
  • AI 还原历史动漫视频:从文案到剪辑全流程拆解
  • 化妆品网站设计报告学网页设计先学什么
  • 网站代码怎么优化wordpress 打赏
  • 数据中心动环监控系统解决方案:构建 “全链路感知、零秒预警、智能联动” 的运维防护体系
  • 图片放大、缩小、恢复原比例、旋转vue
  • 最大的做网站公司win7配置不能运行wordpress
  • 网站开发H5微商商城官网
  • WPS文字如何合并多个文档:两种方法
  • 1、网关分类详解:从网络层到应用层的完整网关体系
  • 益阳市住房和城乡建设局网站手机seo百度点击软件