首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏捞月亮的小北

    9. 动态SQL

    Mybaits 框架的动态 SQL 技术是一种根据特定条件动态拼接 SQL 语句的功能 , 它存在的意义是为了解决拼接 SQL 语句字符串时的痛点问题 ‍ Mybatis 中动态 SQL 怎么理解? 同时,也需要注意 SQL 注入和动态 SQL 的维护难度问题。 SQL 片段的作用是将常用的 SQL 语句封装成一个可重用的组件,方便在多个地方使用。 Mybatis 中的 SQL 片段有两种类型: 动态 SQL 片段:根据不同的条件生成不同的 SQL 语句。 6.2 SQL 片段的作用 ‍ SQL 片段(SQL Fragments)是 Mybatis 中一个重要的功能,它的作用是将一段 SQL 片段用 <sql>​ 元素封装,并在需要的地方通过 <include 减小 SQL 的维护难度:将一段 SQL 代码封装成 SQL 片段,可以方便维护和修改,避免了对 SQL 语句的重复修改和维护。

    50810编辑于 2023-12-01
  • 9SQL优化技巧

    大多数的接口性能问题,很多情况下都是SQL问题,在工作中,我们也会定期对慢SQL进行优化,以提高接口性能。这里总结一下常见的优化方向和策略。 避免使用select *,减少查询字段不要为了图省事,直接查询全部的字段,尽量查需要的字段,特别是复杂的SQL,能够避免很多不走索引的情况。这也是最基本的方法。 避免使用左模糊查询在工作中,对于姓名、手机号、名称等内容,经常会遇到模糊查询的场景,但是要尽量避免左模糊,这种SQL无法使用索引。 join的优化JOIN 是 SQL 查询中的一个操作,用于将两个或多个表连接在一起。JOIN 操作有几种类型,包括 LEFT JOIN、RIGHT JOIN 和 INNER JOIN。 我们日常使用较多的分页一般是用的PageHelper插件,SQL如下:sql复制代码select id,name from table_name where N个条件 limit 100000,10;它的执行流程

    1.3K10编辑于 2024-05-21
  • 来自专栏一个爱吃西瓜的程序员

    学习SQL9】-集合与联结

    现在我们开始学习使用2张以上的表的SQL语句。通过以行方向为单位的集合运算符和以列方向为单位的联结,就可以将分散在多张表中的数据组合成期望的结果。 SQL中的联结有很多种,我们主要学习内联结和外联结两种。 内联结—INNER JOIN 内联结(INNER JOIN)是运用最广泛的联结运算。 SP.shop_name, SP.product_id, P.product_name FROM ShopProduct AS SP CROSS JOIN Product AS P; 上述的SQL

    1.5K120发布于 2018-04-04
  • 来自专栏懒人的运维备忘录

    100个 Linux 命令(9)-计划任务

    crond file 是定义定时任务条目的文件。 crontab 是管理 crond file 的工具 选项 说明 -l 列出定时任务条目 -r 删除当前任务列表中断所有任务条目 -i 删除条目时提示是否要删除 -e 编辑定时任务文件,实际上编辑的是/ 是因为/etc/crontab 是系统定时任务文件,一般的定时任务没有该段。 例如每月的15号执行该任务,同时又定义了周三执行该任务,正常无冲突情况下,将在周三和每月15号执行,但如果某月的15号同时是周三,则该任务在此日执行两次。因此,应该尽力避免同时定义周和日的任务。 例如"* */2 * * *",它表示每隔两小时后的每一分钟都执行任务,也就是凌晨0点的每分钟执行任务,凌晨1点不执行任务,凌晨2点的每分钟执行任务,凌晨4点的每分钟执行任务,依此类推。

    1.6K41发布于 2019-01-17
  • 来自专栏NetCore 从壹开始

    【BlogBook书】9、Quartz.Job:任务调度

    框架高度集成Quartz.Job组件作为任务调度方案,并且在Admin管理后台,有丰富的界面可以进行Web页面配置。 不仅支持按次数执行,也支持Cron表达式定时执行。 services.AddHostedService<QuartzJobHostedService>();//在InitializationHostServiceSetup.cs中 相关参数设置 // 默认在项目启动的时候,自动检测任务调度是否启动 ,并将开启的任务,自动加载到内存中等待被调用 "Middleware": { "QuartzNetJob": { "Enabled": true }, } 二、使用方式 } } 2、接口模式 直接在web管理后台,配置接口地址即可,效果和类模式一致,这样写好逻辑,通过接口的形势配置好,就不用在Blog.Core.Tasks层中配置类文件了, 直接用接口来进行任务调度

    35410编辑于 2024-02-22
  • 来自专栏机器学习/数据可视化

    SQL进阶-9-谓词exists使用

    SQL进阶-9-EXISTS谓词的使用 支撑SQL和关系数据库的两个重要理论基础: 数学领域的集合论 现代逻辑学标准体系的谓词逻辑(predicate logic) 本文中重点介绍的是谓词exists的用法 SQL实现 假设所有人都参加了全部的会议,生成了一个集合,再用该集合减去现有的数据即可。 ,col10); -- 查询至少存在一个9的行记录:any select * from Tablename where 9 = any (col1, col2, col3,... ,col10); -- where 9 in (col1, col2, col3,... ,col10) is null; 小结 SQL谓词指的是返回值为真值的函数 EXISTS与其他谓词不同,接受的参数是集合;可以看做是一种高阶函数 SQL中没有实现全称量词相当的谓词,但是可以通过not

    1.4K20发布于 2021-03-01
  • 来自专栏大数据成神之路

    Flink1.16 SQL Gateway 迁移Hive SQL任务实战

    使用Flink的SQL Gateway迁移Hive SQL任务 前言 我们有数万个离线任务,主要还是默认的DataPhin调度CDP集群的Hive On Tez这种低成本任务,当然也有PySpark、打 Jar包的Spark和打Jar包的Flink任务这种高成本的任务【Java和Scala都有】。 毕竟SQL上手门槛极低,是个人都能写几下并且跑起来,还可以很容易看到run成功的数据长得像不像。其实HQL任务的性能并不会好到哪里去,主要是SQL Boy便宜,无脑堆人天就可以线性提升开发速度。 但是执行引擎必须能把SQL字符串给解析成具体的执行计划或者底层任务。 Flink1.16.0使用了这么一个可插拔的插件,将HQL解析为Logical Plan逻辑计划。 可以看到流式的SQL任务,开发成本肯定比Java和Scala写DataStreaming算子低!!!利好SQL Boy。

    1.7K21编辑于 2023-02-01
  • 来自专栏信息技术智库

    9.MySQL数据查询SQL

    9.MySQL数据查询SQL 语法格式: select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段  -- 问题出在 sql 计算的顺序上,sql会优先处理and条件,所以上面的sql语句就变成了 -- 查询变成了为年龄22的不管性别,或者年龄为 25的女生 -- 如何改造sql符合我们的查询条件呢? +---------+ -- 统计 users 表中的数据量 select count(*) from users; +----------+ | count(*) | +----------+ | 9  | +----------+ select count(id) from users; +-----------+ | count(id) | +-----------+ | 9 | +-------- rows in set (0.00 sec) -- 如果按照sex这一列进行统计,结果就是8个而不是9个,因为sex这一列中有NULL值存在 mysql> select count(sex) from 

    1.3K30编辑于 2022-07-29
  • 来自专栏数据STUDIO

    要避免的 9SQL 错误

    下面对不该做的事进行逆向分析,指导你写出清晰、优化、强大的 SQL 语句: 1、避免不明确的列命名: Don’t CREATE TABLE table1 (id int , name varchar(50 7.不要忽视错误处理: Don’t (No error handling) Do BEGIN TRY -- Your SQL statement here -- END TRY BEGIN CATCH 9.不要忽略评论和文档: Don’t (No comments or documentation) Do -- This query retrieves all active customers with

    64910编辑于 2024-06-04
  • 来自专栏工厂程序员

    SQL Server 新增自动执行任务

    第一步右击SQL Server代理,新建作业 ? 第二步选择常规,给你要执行的计划命名 ? 第三步选择步骤,然后给步骤命名,选择类型,数据库,输入你要执行的语句。 ? 最后要记得把SQL Server服务启动起,右击计算机——>管理——>服务和应用程序 ?

    96160发布于 2019-09-10
  • 来自专栏大数据进阶

    flink系列(9)-flink任务提交流程分析

    这个环境让我们可以配置参数来控制如何运行Flink任务。 用户代码必须是可以序列化的,以做到在集群不同节点之间传输任务。 addSource方法用来添加一个数据源到计算任务中。 ,具体步骤包括开启queued scheduling,上传任务所需的jar文件到Blob文件服务端,向DispatcherGateway提交任务。 当任务执行时抛出异常则删除该任务

    2.4K20发布于 2019-09-17
  • 来自专栏Devops专栏

    9--Gradle进阶 - Gradle任务的依赖方式

    9--Gradle进阶 - Gradle任务的依赖方式 前言 Gradle Task 任务之间是可以配置依赖的,那么为什么要配置依赖? 因为任务有可能依赖其他任务执行完毕之后,才可以开始执行。 对于这种情况,我们就可以通过任务的依赖来控制。 下面来介绍一下任务的依赖方式。 任务的依赖方式 Task 之间的依赖关系可以在以下几部分设置: 参数依赖 内部依赖 外部依赖 方式一:参数方式依赖 下面我们定义 task A、task B,其中 task C 依赖 A B 两个任务执行完毕后 ,才执行,如下: // 任务的依赖方式 // 方式一:参数方式依赖 task A { doLast { println "TaskA.." } } task 'B' { 拓展 2:重复依赖的任务只会执行一次,比如: A->B、C B->C 任务A 依赖任务 B 和任务 C、任务 B 依赖C 任务。执行任务A 的时候,显然任务C 被重复依赖了,C 只会执行一次。

    1.1K30编辑于 2023-09-01
  • 来自专栏网安菜鸟成长记

    sql-labs-less9less10|脚本SQL时间盲注

    前言: 此系列为sql-labs第9关和第10关,两关差别不大,这一关使用sql时间盲注的方法,写脚本进行注入,前面的关卡没有用过时间盲注,所以这一关讲的比较详细,如果错误的地方还请大佬指正! 正文: less9: 本关无论注入正确与否页面都显示一样的回显,所以无法像第八关那样通过查看页面是否输出语句来判断注入的语句是否正确执行,这一关使用时间盲注方法 请看代码: import requests import time import datetime url = "http://localhost/sql-labs/Less-9/? print("flag为->"+flag) get_flag() 跟第八关的脚本差不多,只是使用的注入语句有点差别,涉及到第八关的脚本详解这里不在多说,如果有不懂的请看第八关详解sql-labs-less8 sleep()函数 功能:执行挂起一段时间,也就是等待一段时间在继续执行,里面的参数单位为秒 less10: less10和less9的区别只是单引号双引号,less10换成双引号就好了 。

    2.3K31发布于 2020-10-28
  • 来自专栏学习有记

    T-SQL进阶:超越基础 Level 9:动态T-SQL代码

    在Listing 9中,我提供了一个如何修改我的GetUserName存储过程以使用参数化的TSQL的例子。 使用参数化的TSQL 在Listing 9中,我更改了我的GetProducts存储过程,以使用sp_executesql来执行我的动态TSQL。 为此,首先我需要运行Listing 9中的代码。 (2, 'Farm Animals', 7.59), (2, 'Toy Solders', 17.76); Listing 9: 创建并填充Client表 在运行Listing 9重新创建我的产品表之后,我可以运行Listing 5,6,7和8来证明我解决了我的SQL注入问题。

    2.8K20发布于 2018-07-18
  • 来自专栏王磊的博客

    使用SQL Server作业设置定时任务

    1.开启SQL Server Agent服务   使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会被执行。 以下步骤开启服务:开始-->>>运行-->>>输入"services.msc"-->>>进入服务,开启SQL Server Agent服务,并设置为自动。 如图: ? 2.新建作业   点击"SQL Server代理","右击作业",选择"新建作业" ? 3.设置新建作业的名称以及说明 ? 4.设置任务的执行步骤 选择"步骤"选项,点击"新建"添加第一条步骤:插入数据,点击"确定"。 ? ? 我们还可以接着新建新的步骤,同时在新建步骤的对话框中的高级选项中做更多设置,这里就不在赘述了。

    2.1K40发布于 2018-04-26
  • 来自专栏自动化、性能测试

    Mysql常用sql语句(9)- like 模糊查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 like应该是最常用的查询条件了 必须滴掌握!

    4.6K20发布于 2020-06-09
  • 来自专栏技术让梦想更伟大

    FreeRTOS系列第9篇---FreeRTOS任务概述基础篇

    任务和协程(Co-routines) 应用程序可以使用任务也可以使用协程,或者两者混合使用,但是任务和协程使用不同的API函数,因此在任务和协程之间不能使用同一个队列或信号量传递数据。 任务状态 「一个任务可为下面中的一个:」 「运行」:如果一个任务正在执行,那么说这个任务处于运行状态。此时它占用处理器。 5.空闲任务和空闲任务钩子(idle task和Idle Task hook) 5.1空闲任务 空闲任务是启动RTOS调度器时由内核自动创建的任务,这样可以确保至少有一个任务在运行。 空闲任务具有最低任务优先级,这样如果有其它更高优先级的任务进入就绪态就可以立刻让出CPU。 删除任务后,空闲任务用来释放RTOS分配给被删除任务的内存。 5.2空闲任务钩子 空闲任务钩子是一个函数,每一个空闲任务周期被调用一次。

    2.2K40发布于 2020-07-29
  • 来自专栏数据科学(冷冻工厂)

    Python 异步: 当前和正在运行的任务9

    如何获取当前任务 我们可以通过 asyncio.current_task() 函数获取当前任务。此函数将为当前正在运行的任务返回一个任务对象。 从协程中获取当前任务将为正在运行的任务返回一个 Task 对象,但不会返回当前正在运行的协程。 如果协程或任务需要有关自身的详细信息,例如用于日志记录的任务名称,则获取当前任务会很有帮助。 最后,它枚举已创建的任务列表并等待每个任务完成。 这突出表明我们可以获得 asyncio 程序中所有任务的集合,其中包括创建的任务以及代表程序入口点的任务。 running task 4 is running task 5 is running task 6 is running task 7 is running task 8 is running task 9 is running > Task-9, <coroutine object task_coroutine at 0x10e186e30> > Task-2, <coroutine object task_coroutine

    1.2K10编辑于 2023-02-27
  • 来自专栏数据科学(冷冻工厂)

    Python 异步: 当前和正在运行的任务9

    如何获取当前任务我们可以通过 asyncio.current_task() 函数获取当前任务。此函数将为当前正在运行的任务返回一个任务对象。... 从协程中获取当前任务将为正在运行的任务返回一个 Task 对象,但不会返回当前正在运行的协程。如果协程或任务需要有关自身的详细信息,例如用于日志记录的任务名称,则获取当前任务会很有帮助。 最后,它枚举已创建的任务列表并等待每个任务完成。这突出表明我们可以获得 asyncio 程序中所有任务的集合,其中包括创建的任务以及代表程序入口点的任务。 is runningtask 4 is runningtask 5 is runningtask 6 is runningtask 7 is runningtask 8 is runningtask 9 is running> Task-9, <coroutine object task_coroutine at 0x10e186e30>> Task-2, <coroutine object task_coroutine

    1.4K00编辑于 2023-02-14
  • 来自专栏火山信安实验室

    泛微 E-cology9 SQL注入漏洞

    漏洞情况近期,火山信安实验室监测发现,泛微 E-cology 作为一款广泛应用于国内企事业单位的企业级协同办公系统(OA),存在典型的 SQL 注入漏洞,攻击者可通过构造恶意输入绕过系统验证,直接操纵数据库查询 0x01漏洞利用方式攻击者通过输入特殊字符(如 '、--、OR 1=1)探测系统响应以判断是否存在 SQL 注入点,随后利用该漏洞获取用户账号、密码、组织架构等敏感信息,或通过注入修改管理员权限、创建后门账户实现系统控制 0x02影响范围泛微 E-cology 9 < 10.750x03修复方案升级到安全版本:泛微已发布多个安全补丁,建议用户升级至最新稳定版本(如 E-cology 10.x)在代码层面增加对用户输入的过滤 (如禁止特殊字符 '、;、--)部署 Web 应用防火墙(如 ModSecurity),拦截 SQL 注入攻击启用系统日志,记录异常 SQL 查询行为来源自:广州盈基信息官网

    48510编辑于 2025-09-11
领券