- sql注入是一种网络攻击,持久层框架都会自己处理该问题,所以日常开发感觉不到,但是为了面试我们还是得熟悉。 原理 将sql代码伪装到输入参数,传递到服务器解析并执行的一种攻击手法。 即在一些对server端发起的请求参数中植入一些sql代码,server端在执行sql操作时,会拼接对应参数,同时也将一些sql注入攻击的“sql”拼接起来,导致会执行一些预期之外的操... sql注入是一种网络攻击,持久层框架都会自己处理该问题,所以日常开发感觉不到,但是为了面试我们还是得熟悉。 原理 将sql代码伪装到输入参数,传递到服务器解析并执行的一种攻击手法。 即在一些对server端发起的请求参数中植入一些sql代码,server端在执行sql操作时,会拼接对应参数,同时也将一些sql注入攻击的“sql”拼接起来,导致会执行一些预期之外的操...
- 1 SQL优化 show status 了解各种SQL的执行效率: # 查看本session的sql执行效率 show status like 'Com_%'; # 查看全局的统计结果 SHOW GLOBAL STATUS LIKE 'Com_%' # 查看服务器的状态 show global status; 12345678 结果: Com_selec... 1 SQL优化 show status 了解各种SQL的执行效率: # 查看本session的sql执行效率 show status like 'Com_%'; # 查看全局的统计结果 SHOW GLOBAL STATUS LIKE 'Com_%' # 查看服务器的状态 show global status; 12345678 结果: Com_selec...
- 您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。小伙伴们,有啥想看的,想问的,欢迎积极留言告诉我喔。 事情是这样的,做测试的女朋友这段时间正在学习Python。这天晚上我下班回家,看到她一个人正在学习SQLAlchemy。真是个好学的girl,这时候我意识到自己表现的机会来了。这个我懂呀。然后,就有了下面这篇文章。 文章目录 ... 您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。小伙伴们,有啥想看的,想问的,欢迎积极留言告诉我喔。 事情是这样的,做测试的女朋友这段时间正在学习Python。这天晚上我下班回家,看到她一个人正在学习SQLAlchemy。真是个好学的girl,这时候我意识到自己表现的机会来了。这个我懂呀。然后,就有了下面这篇文章。 文章目录 ...
- 前言 接上一篇,今天我们接着来分析MyBatis的源码。今天的分析的核心是SQL的执行过程。主要分为如下章节进行分析 代理类的生成SQL的执行过程处理查询结果 mapper 接口的代理类的生成过程分析 首先我们来看看mapper 接口的代理类的生成过程,如下是一个MyBatis查询的调用实例。 StudentMapper mapper = sqlSessio... 前言 接上一篇,今天我们接着来分析MyBatis的源码。今天的分析的核心是SQL的执行过程。主要分为如下章节进行分析 代理类的生成SQL的执行过程处理查询结果 mapper 接口的代理类的生成过程分析 首先我们来看看mapper 接口的代理类的生成过程,如下是一个MyBatis查询的调用实例。 StudentMapper mapper = sqlSessio...
- 前言 在面试中我们经常会被到MyBatis中 #{} 占位符与${}占位符的区别。大多数的小伙伴都可以脱口而出#{} 会对值进行转义,防止SQL注入。而${}则会原样输出传入值,不会对传入值做任何处理。本文将通过源码层面分析为啥#{} 可以防止SQL注入。 源码解析 首先我们来看看MyBatis 中SQL的解析过程,MyBatis 会将映射文件中的SQL拆分成一个... 前言 在面试中我们经常会被到MyBatis中 #{} 占位符与${}占位符的区别。大多数的小伙伴都可以脱口而出#{} 会对值进行转义,防止SQL注入。而${}则会原样输出传入值,不会对传入值做任何处理。本文将通过源码层面分析为啥#{} 可以防止SQL注入。 源码解析 首先我们来看看MyBatis 中SQL的解析过程,MyBatis 会将映射文件中的SQL拆分成一个...
- 今天接着说说如何在日志中配置SQL打印输出。 log4j的依赖添加 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.7</vers... 今天接着说说如何在日志中配置SQL打印输出。 log4j的依赖添加 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.7</vers...
- 您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。上一篇我们介绍了Idea中几个常用插件,这篇文章,我们接着来介绍比较常见好用的插件。话不多说,直接进入主题。 文章目录 Mybatis Log PluginVisualVM LauncherDatabase工具sql语句补全直接在Idea中编写sql语句执行 总结还想说两句 ... 您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。上一篇我们介绍了Idea中几个常用插件,这篇文章,我们接着来介绍比较常见好用的插件。话不多说,直接进入主题。 文章目录 Mybatis Log PluginVisualVM LauncherDatabase工具sql语句补全直接在Idea中编写sql语句执行 总结还想说两句 ...
- 您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。小伙伴们,有啥想看的,想问的,欢迎积极留言告诉我喔。 事情是这样的,做测试的女朋友这段时间正在学习Python。这天晚上我下班回家,看到她一个人正在学习SQLAlchemy。真是个好学的girl,这时候我意识到自己表现的机会来了。这个我懂呀。然后,就有了下面这篇文章。 文章目录 ... 您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。小伙伴们,有啥想看的,想问的,欢迎积极留言告诉我喔。 事情是这样的,做测试的女朋友这段时间正在学习Python。这天晚上我下班回家,看到她一个人正在学习SQLAlchemy。真是个好学的girl,这时候我意识到自己表现的机会来了。这个我懂呀。然后,就有了下面这篇文章。 文章目录 ...
- 首先创建数据库hncu,建立stud表格。 添加数据: create table stud( sno varchar(30) not null primary key, sname varchar(30) not null, age int, saddress varchar(30) ); INSERT INTO stud VALUES('1001','Tom',2... 首先创建数据库hncu,建立stud表格。 添加数据: create table stud( sno varchar(30) not null primary key, sname varchar(30) not null, age int, saddress varchar(30) ); INSERT INTO stud VALUES('1001','Tom',2...
- 原文请访问: 【MySQL性能优化】概述与优化方面(一) 像sql语句如何进行调优,基本上在中高级程序员面试中都有可能会被问到。 所以说,了解,或者学习一下如何进行sql调优是必要的。 我会关于该sql调优文章出一个系列的博客。与大家一起学下去 首先不具体进行介绍,先大体的概括一下,因为答案基本是死的,但是处理方式是活的 MySQL性能优化/概述 ... 原文请访问: 【MySQL性能优化】概述与优化方面(一) 像sql语句如何进行调优,基本上在中高级程序员面试中都有可能会被问到。 所以说,了解,或者学习一下如何进行sql调优是必要的。 我会关于该sql调优文章出一个系列的博客。与大家一起学下去 首先不具体进行介绍,先大体的概括一下,因为答案基本是死的,但是处理方式是活的 MySQL性能优化/概述 ...
- 我们先看一个如下数据库表: 我们如果想查询这张表里面age为11和1的人该怎么办呢? 那么我们的 in 操作符就起作用了: SELECT * FROM table1 WHERE age1 IN(11,1); 查询来自表哥table1的数据,条件为age1 在(11,1)这两个数之中,其中in的意思就是说查询的数据在什么之中。那么我们这样使用in就可以查询a... 我们先看一个如下数据库表: 我们如果想查询这张表里面age为11和1的人该怎么办呢? 那么我们的 in 操作符就起作用了: SELECT * FROM table1 WHERE age1 IN(11,1); 查询来自表哥table1的数据,条件为age1 在(11,1)这两个数之中,其中in的意思就是说查询的数据在什么之中。那么我们这样使用in就可以查询a...
- 使用别名主要原因是因为如果在很多表的时候,我们的表名可能会混淆,导致语句不清晰,那么我们使用别名就可以让我们操作数据库表的时候更加清晰明了,那么我们假设有如下表: 那么我们查找我们age1的值为11的数据,如果我们嫌我们的表名table1(在这里这个表名为table1)的名字太丑,太长的话,那么我们就可以使用如下的语句使我们的table1表名在这个命令中改变为t1... 使用别名主要原因是因为如果在很多表的时候,我们的表名可能会混淆,导致语句不清晰,那么我们使用别名就可以让我们操作数据库表的时候更加清晰明了,那么我们假设有如下表: 那么我们查找我们age1的值为11的数据,如果我们嫌我们的表名table1(在这里这个表名为table1)的名字太丑,太长的话,那么我们就可以使用如下的语句使我们的table1表名在这个命令中改变为t1...
- 最近一段时间项目转入SSIS,从DB2和TeraData向MSSql中迁入,其中又穿插了perl一些的知识,感觉这段时间相当的充实,以前一直关注C#,javascript,不怎么写sql,现在一天写一两千行的sql,脸不红,气不喘,一口气连上八楼都不心跳加速了. 因为一些知识只是临时性的添加,所以显得很杂乱. (1)sql datatime 格式化 Select ... 最近一段时间项目转入SSIS,从DB2和TeraData向MSSql中迁入,其中又穿插了perl一些的知识,感觉这段时间相当的充实,以前一直关注C#,javascript,不怎么写sql,现在一天写一两千行的sql,脸不红,气不喘,一口气连上八楼都不心跳加速了. 因为一些知识只是临时性的添加,所以显得很杂乱. (1)sql datatime 格式化 Select ...
- 首先我们看如下数据库表: 如果我们想查询如上表中的age1的值在0到5的数据该如何查询? 那么在这里我们用到我们的sql操作符between…adn。 SELECT * FROM table1 WHERE age1 BETWEEN 0 AND 5 其中between后面的0 and 5 意思就是 查询寻数据,条件为age1的值为0到5,那么结果如下: 首先我们看如下数据库表: 如果我们想查询如上表中的age1的值在0到5的数据该如何查询? 那么在这里我们用到我们的sql操作符between…adn。 SELECT * FROM table1 WHERE age1 BETWEEN 0 AND 5 其中between后面的0 and 5 意思就是 查询寻数据,条件为age1的值为0到5,那么结果如下:
- 1.sql语句准备 string sqlstr = “select * from t_person where name=@name 最好是预留一个where条件 在分页的时候sql语句里面 一定要预留一个”where”和”order by “的字段准备 2.开始开发之前,好好回顾一下以犯的错,不要一犯再犯 3.在没有理解完全理解需求之前(至少要达到需求和数据库的字段完全的对... 1.sql语句准备 string sqlstr = “select * from t_person where name=@name 最好是预留一个where条件 在分页的时候sql语句里面 一定要预留一个”where”和”order by “的字段准备 2.开始开发之前,好好回顾一下以犯的错,不要一犯再犯 3.在没有理解完全理解需求之前(至少要达到需求和数据库的字段完全的对...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签