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

Java学习 - MySQL存储过程、函数和触发器练习实例

存储过程

  • 存储过程是什么

    存储过程是一组已经编译好的SQL语句
    
  • 存储过程优点有什么

    安全
    性能高
    提高代码复用性
    
  • 创建存储过程的语法

    DELIMITER $ # 不能加分号CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 参数类型)
    BEGIN存储过程语句块
    END;$DELIMITER ;
    
  • 创建一个无参的存储过程:打印 myemployees 库中 employees 表中 employee_id = 168的first_name,并调用

    DELIMITER $CREATE PROCEDURE myprocedure1()
    BEGINSELECT first_nameFROM employeesWHERE employee_id = 168;
    END;$DELIMITER ;CALL myprocedure1();
    
  • 创建一个IN参数存储过程:打印传递进来的参数

    DELIMITER $CREATE PROCEDURE myprocedure2(IN v INT)
    BEGINSELECT v;
    END;$DELIMITER ;SET @v = 10;CALL myprocedure2(@v);
    
  • 创建一个IN参数和OUT参数存储过程:传递来一个变量 invalue = 10,输出一个变量 outvalue = invalue * 2

    DELIMITER $CREATE PROCEDURE myprocedure3(IN invalue INT,OUT outvalue INT)
    BEGINSELECT invalue * 2 INTO outvalue;
    END;$DELIMITER ;SET @invalue = 10;
    SET @outvalue = 0;CALL myprocedure3(@invalue,@outvalue);SELECT @outvalue;
    
  • 创建一个INOUT参数存储过程:传递进来一个数,令其变为10倍

    DELIMITER $CREATE PROCEDURE myprocedure4(INOUT inoutvalue INT)
    BEGINSET inoutvalue = inoutvalue * 10;
    END;$DELIMITER ;SET @value = 10;CALL myprocedure4(@value);SELECT @value;
    
  • 创建一个IN参数存储过程:输入一个数,如果大于0显示’greater than 0’,小于零显示’less than 0’,等于0显示’equals 0’

    DELIMITER $CREATE PROCEDURE myprocedure5(IN target INT)
    BEGINSELECTCASEWHEN target > 0 THEN 'greater than 0'WHEN target = 0 THEN 'equalse 0'ELSE 'less than 0'ENDAS result;
    END;$DELIMITER ;CALL myprocedure5(-1);
    CALL myprocedure5(0);
    CALL myprocedure5(1);
    
  • 创建一个IN参数和OUT参数存储过程:输入一个数,如果等于1显示’Hello’,等于2显示’World’,否则显示’Byebye’,结果同时保存到OUT参数中

    DELIMITER $CREATE PROCEDURE myprocedure6(IN target INT,OUT result VARCHAR(20))
    BEGINSELECTCASE targetWHEN target = 1 THEN 'Hello'WHEN target = 2 THEN 'World'ELSE 'ByeBye'ENDINTO result;
    END;$DELIMITER ;CALL myprocedure6(0,@ret1);
    CALL myprocedure6(1,@ret2);
    CALL myprocedure6(2,@ret3);SELECT @ret1,@ret2,@ret3;
    
  • 创建一个无参的存储过程:循环打印 myemployees 库中 employees 表中 employee_id = 168的first_name3次

    DELIMITER $CREATE PROCEDURE myprocedure5()
    BEGINDECLARE times INT DEFAULT 0;WHILE times < 3 DOSELECT first_nameFROM employeesWHERE employee_id = 168;SET times = times + 1;END WHILE;
    END;$DELIMITER ;CALL myprocedure5();
    
  • 创建一个IN参数存储过程:输入一个正整数,打印它这么多次"This is REPEAT UNITL"

    DELIMITER $CREATE PROCEDURE myprocedure6(IN times INT)
    BEGINREPEAT SELECT 'This is REPEAT UNTIL';SET times = times - 1;UNTIL times < 0 END REPEAT;
    END;$DELIMITER ;CALL procedure6(10);
    
  • 创建一个OUT参数存储过程:返回1x2x3x…x10的结果给一个OUT参数result,使用LOOP循环

    DELIMITER $CREATE PROCEDURE myprocedure7(OUT result INT)
    BEGINDECLARE times INT DEFAULT 1;SET result = 1;tt:LOOPSET times = times + 1;SET result = result * times;IF times > 10THEN LEAVE tt;END IF;END LOOP;
    END;$DELIMITER ;SET @result = 0;CALL myprocedure7(@result);SELECT @result;
    
  • 查看有哪些存储过程

    SHOW PROCEDURE STATUS;
    
  • 查看存储过程myprocedure1的创建语句

    SHOW CREATE PROCEDURE myprocedure1;
    
  • 删除当前数据库中本次练习创建的存储过程

    DROP PROCEDURE myprocedure1;
    DROP PROCEDURE myprocedure2;
    DROP PROCEDURE myprocedure3;
    DROP PROCEDURE myprocedure4;
    DROP PROCEDURE myprocedure5;
    DROP PROCEDURE myprocedure6;
    DROP PROCEDURE myprocedure7;
    DROP PROCEDURE myprocedure8;
    DROP PROCEDURE myprocedure9;
    DROP PROCEDURE myprocedure10;
    

函数

  • 函数是什么,与存储过程的区别

    类似存储过程,是一组编译好的SQL语句
    
  • 函数与存储过程的区别

    函数必须有返回值和return语句,参数形式为  参数名  参数类型,取消了参数模式
    函数如果使用 SELECT,则必须配合INTO关键字,因为函数不允许出现结果集
    
  • 函数优点是什么

    增强代码复用性
    将执行过程封装起来,增强安全性
    因为是已经编译好的SQL语句,性能较高
    
  • 创建函数的语法

    DELIMITER $CREATE FUNCTION 函数名(参数名 参数类型) RETURNS 返回值类型
    BEGIN函数体
    END;$DELIMITER ;
    
  • 函数能不要返回值,不要return语句吗

    不行,必须要有返回值和return语句
    
  • 创建一个无参的函数:用于查找 myemployees 库中 employees 表中 employee_id = 168的first_name

    DELIMITER $CREATE FUNCTION myfunction1() RETURNS VARCHAR(30)
    BEGINDECLARE ret varchar(30);SELECT first_name INTO retFROM employeesWHERE employee_id = 168;RETURN ret;
    END;$DELIMITER ;SELECT myfunction1();
    
  • 创建一个含参函数:接收传递进来的参数,返回这个参数与"-myfunction2"的拼接结果

    DELIMITER $CREATE FUNCTION myfunction2(invar VARCHAR(30)) RETURNS VARCHAR(30)
    BEGINRETURN CONCAT(invar,'-myfunction2');
    END;$DELIMITER ;SELECT myfunction2('abc');
    
  • 创建一个含参函数:传递来一个变量 invalue = 10,返回 invalue * 2

    DELIMITER $CREATE FUNCTION myfunction3(invalue INT) RETURNS INT
    BEGINRETURN invalue * 2;
    END;$DELIMITER ;SET @invalue = 10;SELECT myfunction3(@invalue);
    
  • 创建一个含参函数:输入一个数,如果大于0返回’greater than 0’,小于零返回’less than 0’,等于0返回’equals 0’

    DELIMITER $CREATE FUNCTION myfunction4(invalue INT) RETURNS VARCHAR(30)
    BEGINRETURN CASEWHEN invalue > 0 THEN 'greater than 0'WHEN invalue = 0 THEN 'equals 0'WHEN invalue < 0 THEN 'less than 0'END;
    END;$DELIMITER ;SELECT myfunction4(-1);
    SELECT myfunction4(0);
    SELECT myfunction4(1);
    
  • 创建一个含参函数:输入一个数,如果等于1返回’Hello’,等于2返回’World’,否则返回’Byebye’

    DELIMITER $CREATE FUNCTION myfunction5(invalue INT) RETURNS VARCHAR(30)
    BEGINRETURN CASE invalueWHEN invalue = 1 THEN 'Hello'WHEN invalue = 2 THEN 'World'ELSE 'ByeBye'END;
    END;$DELIMITER ;SELECT myfunction5(1);
    SELECT myfunction5(2);
    SELECT myfunction5(3);
    
  • 创建一个无参函数:返回1+2+…+100的结果【使用while循环】

    DELIMITER $CREATE FUNCTION myfunction6() RETURNS INT
    BEGINDECLARE times INT DEFAULT 0;DECLARE retsum INT DEFAULT 0;WHILE times < 101 DOSET retsum = retsum + times;SET times = times + 1;END WHILE;RETURN retsum;
    END;$DELIMITER ;SELECT myfunction6();
    
  • 创建无参函数:返回1x2x3x…x10的结果【使用LOOP循环】

    DELIMITER $CREATE FUNCTION myfunction7() RETURNS INT
    BEGINDECLARE times INT DEFAULT 1;DECLARE retsum INT DEFAULT 1;tt:LOOPSET retsum = retsum * times;SET times = times + 1;IF times > 10THEN LEAVE;END IF;END LOOP;RETURN retsum;
    END;$DELIMITER ;
    
  • 查看所有的函数

    SHOW FUNCTION STATUS;
    
  • 查看函数myfunction1的创建语句

    SHOW CREATE FUNCTION myfunction1;
    
  • 删除本次练习所创建的所有函数

    DROP FUNCTION myfunction1;
    DROP FUNCTION myfunction2;
    DROP FUNCTION myfunction3;
    DROP FUNCTION myfunction4;
    DROP FUNCTION myfunction5;
    DROP FUNCTION myfunction6;
    DROP FUNCTION myfunction7;
    

触发器

  • 什么是触发器

    一类特殊的事务,可以监视某种DML操作,并触发相关DML操作
    
  • 创建触发器的语法

    DELIMITER $CREATE TRIGGER 触发器名字
    BEFORE|AFTER INSERT|UPDATE|DELETE ON 表名
    FOR EACH ROW
    BEGIN触发器的DML语句
    END$DELIMITER ;
    
  • 创建两张表

    goods:

    商品主键商品名库存
    1电脑28
    2自行车12

    orders:

    订单主键购买数量商品外键
    132
    251
    CREATE TABLE IF NOT EXISTS goods (g_id INT,g_name VARCHAR(20),g_count INT,CONSTRAINT pk PRIMARY KEY(g_id),CONSTRAINT uk UNIQUE(g_name)
    );INSERT INTO goods(g_id,g_name,g_count) 
    VALUES (1,'电脑',28),(2,'自行车',12);CREATE TABLE IF NOT EXISTS orders  (o_id INT PRIMARY KEY,o_count INT,o_g INT,CONSTRAINT fk_goods_g_id FOREIGN KEY(o_g) REFERENCES goods(g_id)
    );INSERT INTO orders(o_id,o_count,o_g) 
    VALUES (1,3,2),(2,5,1);
    
  • 创建触发器,让orders购买数量增多时,goods数量相应减少

    DELIMITER $CREATE TRIGGER my_trigger
    AFTER UPDATE ON orders
    FOR EACH ROW
    BEGINUPDATE goodsSET g_count = g_count - (new.o_count - old.o_count)WHERE g_id = new.o_g;
    END;$DELIMITER ;
    
  • 查看所有的触发器

    SHOW TRIGGERS;
    
  • 查看my_trigger的创建语句

    SHOW CREATE TRIGGERS my_trigger;
    
  • 删除my_trigger

    DROP TRIGGER my_trigger;
    

相关文章:

Java学习 - MySQL存储过程、函数和触发器练习实例

存储过程 存储过程是什么 存储过程是一组已经编译好的SQL语句存储过程优点有什么 安全 性能高 提高代码复用性创建存储过程的语法 DELIMITER $ # 不能加分号CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 参数类型) BEGIN存储过程语句块 END;$DELIMITER ;创建一个无参的存储…...

【深度神经网络 (DNN)】

深度神经网络 (DNN) 深度神经网络 (DNN) 是机器学习领域中一种强大的工具&#xff0c;它由多层神经元组成&#xff0c;能够学习复杂的数据模式&#xff0c;解决各种任务&#xff0c;如图像识别、语音识别、自然语言处理等。 DNN 的构成&#xff1a; 神经元: DNN 的基本单元&…...

ES全文检索支持繁简和IK分词检索

ES全文检索支持繁简和IK分词检索 1. 前言2. 引入繁简转换插件analysis-stconvert2.1 下载已有作者编译后的包文件2.2 下载源码进行编译2.3 复制解压插件到es安装目录的plugins文件夹下 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4…...

解决Visual Studio Code在Ubuntu上崩溃的问题

解决Visual Studio Code在Ubuntu上崩溃的问题 我正在使用Ubuntu系统&#xff0c;每次打开Visual Studio Code时&#xff0c;只能短暂打开一秒钟&#xff0c;然后就会崩溃。当通过终端使用code --verbose命令启动Visual Studio Code时&#xff0c;出现以下错误信息&#xff1a;…...

【OpenGauss源码学习 —— (ALTER TABLE(SET attribute_option))】

ALTER TABLE&#xff08;SET attribute_option&#xff09; ATExecSetOptions 函数 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&#xff0c;我们尊重他人的知识产权和学术成果&#xff0c;力求遵循合理使用原则&#xff0c;并在适用的情况下注明引用来源。…...

Elasticsearch 数据提取 - 最适合这项工作的工具是什么?

作者&#xff1a;来自 Elastic Josh Asres 了解在 Elasticsearch 中为你的搜索用例提取数据的所有不同方式。 对于搜索用例&#xff0c;高效采集和处理来自各种来源的数据的能力至关重要。无论你处理的是 SQL 数据库、CRM 还是任何自定义数据源&#xff0c;选择正确的数据采集…...

‘浔川画板v5.1’即将上线!——浔川python社

1 简介&#xff1a; 浔川画板是一款专业的数字绘画和漫画创作软件&#xff0c;它为艺术家和设计师提供了丰富的绘画工具、色彩管理功能以及易于使用的界面。用户可以使用浔川画板进行手绘风格的绘画、精细的素描、漫画分格、UI设计等多种创作。该软件支持多种笔刷和特效&#…...

RockChip Android12 System之Datetime

一:概述 本文将针对Android12 Settings二级菜单System中Date&time的UI修改进行说明。 二:Date&Time 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name="Settings$DateTimeSettingsActivity"android:label="@stri…...

详解 ClickHouse 的副本机制

一、简介 副本功能只支持 MergeTree Family 的表引擎&#xff0c;参考文档&#xff1a;https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ ClickHouse 副本的目的主要是保障数据的高可用性&#xff0c;即使一台 ClickHouse 节点宕机&#…...

速卖通测评成本低见效快,自养号测评的实操指南,快速积累销量和好评

对于初入速卖通的新卖家而言&#xff0c;销量和评价的积累显得尤为关键。由于新店铺往往难以获得平台活动的青睐&#xff0c;因此流量的获取成为了一大挑战。在这样的背景下&#xff0c;进行产品测评以积累正面的用户反馈和销售记录&#xff0c;成为了提升店铺信誉和吸引潜在顾…...

php反序列化漏洞简介

目录 php序列化和反序列化简介 序列化 反序列化 类中定义的属性 序列化实例 反序列化实例 反序列化漏洞 序列化返回的字符串格式 魔术方法和反序列化利用 绕过wakeup 靶场实战 修复方法 php序列化和反序列化简介 序列化 将对象状态转换为可保持或可传输的格式的…...

力扣随机一题 模拟+字符串

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】 题目&#xff1a; …...

java-正则表达式 1

Java中的正则表达式 1. 正则表达式的基本概念 正则表达式&#xff08;Regular Expression, regex&#xff09;是一种用于匹配字符串中字符组合的模式。正则表达式广泛应用于字符串搜索、替换和解析。Java通过java.util.regex包提供了对正则表达式的支持&#xff0c;该包包含两…...

Python xlrd库:读excel表格

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

开发中遇到的一个bug

遇到的报错信息是这样的&#xff1a; java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [hm-api,hm-common,hm-service] are excluded from annotation processing 翻译过来就是存在循环引用的情况&#xff0c;导…...

Java面试题:对比不同的垃圾收集器(如Serial、Parallel、CMS、G1)及其适用场景

Java虚拟机&#xff08;JVM&#xff09;提供了多种垃圾收集器&#xff0c;每种垃圾收集器在性能和适用场景上各有不同。以下是对几种常见垃圾收集器&#xff08;Serial、Parallel、CMS、G1&#xff09;的对比及其适用场景的详细介绍&#xff1a; 1. Serial 垃圾收集器 Serial…...

每日一题——冒泡排序

C语言——冒泡排序 冒泡排序练习 前言&#xff1a;CSDN的小伙伴们&#xff0c;大家好&#xff01;今天我来给大家分享一种解题思想——冒泡排序。 冒泡排序 冒泡法的核心思想&#xff1a;两两相邻的元素进行比较 2.冒泡排序的算法描述如下。 (1)比较相邻的元素。如果第一 个比…...

javascript浏览器对象模型

BOM对象&#xff1a; BOM 是浏览器对象模型的简称。JavaScript 将整个浏览器窗口按照实现的功能不同拆分成若干个对象&#xff1b; 包含&#xff1a;window 对象、history 对象、location 对象和 document 对象等 window对象&#xff1a; 常用方法&#xff1a; 1.prompt();…...

C语言之链表以及单链表的实现

一&#xff1a;链表的引入 1&#xff1a;从数组的缺陷说起 &#xff08;1&#xff09;数组有两个缺陷。一个是数组中所有元素类型必须一致&#xff0c;第二是数组的元素个数必须事先指定并且一旦指定后不能更改 &#xff08;2&#xff09;如何解决数组的两个缺陷&#xff1a;数…...

AI在线免费视频工具2:视频配声音;图片说话hedra

1、视频配声音 https://deepmind.google/discover/blog/generating-audio-for-video/ https://www.videotosoundeffects.com/ &#xff08;免费在线使用&#xff09; 2、图片说话在线图片生成播报hedra hedra 上传音频与图片即可合成 https://www.hedra.com/ https://www.…...

Elastic字段映射(_source,doc_value,fileddata,index,store)

Elastic字段映射&#xff08;_source,doc_value,filed_data,index,store&#xff09; _source&#xff1a; source 字段用于存储 post 到 ES 的原始 json 文档。为什么要存储原始文档呢&#xff1f;因为 ES 采用倒排索引对文本进行搜索&#xff0c;而倒排索引无法存储原始输入…...

kotlin空类型安全 !! ?. ?:

1、定义可空类型 fun main(){// 定义可空类型var x:String? "hello"x null } 2、!! 强转类型 定义可空类型之后&#xff0c;如果使用其内置方法&#xff0c;编译不会通过&#xff0c;因为值有可能为null&#xff0c;可以使用 !! 把类型强转为不可空&#xff1a…...

通过 WireGuard 组建虚拟局域网 实现多个局域网全互联

本文后半部分代码框较多,欢迎点击原文链接获得更佳的阅读体验。 前言 上一篇关于 WireGuard 的文章通过 Docker 安装 wg-easy 的形式来使用 WireGuard,但 wg-easy 的功能比较有限,并不能发挥出 WireGuard 的全部功力。 如果只是想要出门在外连随时随地的连回家里的局域网,…...

qmt量化交易策略小白学习笔记第47期【qmt编程之期货仓单】

qmt编程之获取期货数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 期货仓单 提示 1…...

点云处理中阶 Sampling

目录 一、什么是点云Sampling 二、示例代码 1、下采样 Downsampling 2、均匀采样 3、上采样 4、表面重建 一、什么是点云Sampling 点云处理中的采样(sampling)是指从大量点云数据中选取一部分代表性的数据点,以减少计算复杂度和内存使用,同时保留点云的几何特征和重…...

为什么print语句被Python3遗弃?

在开发和维护python项目的时候发现经常有print语句报错&#xff0c;原因是python3放弃了print语句 print 语句 早就被列在了不可靠的语言特性列表中&#xff0c;例如 Guido 的“Python 之悔”&#xff08;Python Regrets&#xff09;演讲【1】&#xff0c;并计划在 Python 300…...

067、Python 高阶函数的编写:优质冒泡排序

以下写了个简单的冒泡排序函数&#xff1a; def bubble_sort(items: list) -> list:for i in range(1, len(items)):swapped Falsefor j in range(0, len(items) - 1):if items[j] > items[j 1]:items[j], items[j 1] items[j 1], items[j]swapped Trueif not swa…...

【Python】从基础到进阶(一):了解Python语言基础以及变量的相关知识

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 引言一、Python简介1.1 历史背景1.2 设计哲学1.3 语言特性1.4 应用场景1.5 为什么选择Python 二、Python语言基础2.1 注释规则2.1.1 单行注释2.1.2 多行注释2.1.3 文件编码声明注释 2.2 代码缩进2.3 编码规范2.3.1 命名规范…...

AI学习指南机器学习篇-KNN的优缺点

AI学习指南机器学习篇-KNN的优缺点 在机器学习领域中&#xff0c;K最近邻&#xff08;K-Nearest Neighbors&#xff0c;KNN&#xff09;算法是一种十分常见的分类和回归方法之一。它的原理简单易懂&#xff0c;但在实际应用中也存在一些优缺点。本文将重点探讨KNN算法的优缺点…...

全网最全!25届最近5年上海理工大学自动化考研院校分析

上海理工大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试…...

LANG、LC_MESSAGES和LC_ALL

在Linux系统中&#xff0c;环境变量LANG、LC_MESSAGES和LC_ALL用于控制系统和应用程序的语言和区域设置&#xff08;locale&#xff09;。它们的具体作用如下&#xff1a; LANG&#xff1a; LANG是最基本的环境变量&#xff0c;用于指定系统的默认语言和区域设置。它是一个全局…...

生成式AI和LLM的一些基本概念和名词解释

1. Machine Learning 机器学习是人工智能&#xff08;AI&#xff09;的一个分支&#xff0c;旨在通过算法和统计模型&#xff0c;使计算机系统能够从数据中学习并自动改进。机器学习算法使用数据来构建模型&#xff0c;该模型可用于预测或决策。机器学习应用于各种领域&#x…...

python项目(课设)——飞机大战小游戏项目源码(pygame)

主程序 import pygame from plane_sprites import * class PlaneGame: """ 游戏类 """ def __init__(self): print("游戏初始化") # 初始化字体模块 pygame.font.init() # 创建游戏…...

Chatgpt教我打游戏攻略

宝可梦朱 我在玩宝可梦朱的时候&#xff0c;我的同行队伍里有黏美儿&#xff0c;等级为65&#xff0c;遇到了下雨天但是没有进化&#xff0c;为什么呢&#xff1f; 黏美儿&#xff08;Goomy&#xff09;要进化为黏美龙&#xff08;Goodra&#xff09;&#xff0c;需要满足以下…...

最全信息收集工具集

吉祥学安全知识星球&#x1f517;除了包含技术干货&#xff1a;Java代码审计、web安全、应急响应等&#xff0c;还包含了安全中常见的售前护网案例、售前方案、ppt等&#xff0c;同时也有面向学生的网络安全面试、护网面试等。 所有的攻防、渗透第一步肯定是信息收集了&#xf…...

redis类型解析汇总

redis类型解析汇总 介绍数据类型简介主要数据类型&#xff1a;衍生类型&#xff1a; 字符串&#xff08;String&#xff09;底层设计原理图例设计优势字符串使用方法设置字符串值获取字符串值获取和设置部分字符串获取字符串长度追加字符串设置新值并返回旧值递增/递减同时设置…...

Unity3d自定义TCP消息替代UNet实现网络连接

以前使用UNet实现网络连接,Unity2018以后被弃用了。要将以前的老程序升到高版本,最开始打算使用Mirro,结果发现并不好用。那就只能自己写连接了。 1.TCP消息结构 (1). TCP消息是按流传输的,会发生粘包。那么在发射和接收消息时就需要对消息进行打包和解包。如果接收的消息…...

git fetch 和 git pull区别

git branch //查看本地所有分支 git branch -r //查看远程所有分支 git branch -a //查看本地和远程的所有分支 git branch <branchname> //新建分支 git branch -d <branchname> //删除本地分支 git branch -d -r <branchname> //删除远程分支&#x…...

冲击2024年CSDN博客之星TOP1:CSDN文章质量分查询在哪里?

文章目录 一&#xff0c;2023年博客之星规则1&#xff0c;不高的入围门槛2&#xff0c;[CSDN博文质量分测评地址](https://www.csdn.net/qc) 二&#xff0c;高分秘籍1&#xff0c;要有目录2&#xff0c;文章长度要足够&#xff0c;我的经验是汉字加代码至少1000字。3&#xff0…...

高性能并行计算华为云实验一:MPI矩阵运算

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建矩阵乘法源码 3.1.1 实验说明 3.1.2 实验步骤 3.2 创建卷积和池化操作源码 3.2.1 实验说明 3.2.2 实验步骤 3.3 创建Makefile文件并完成编译 3.4 建立主机配置文件与运行监测 四、实验结果与分析 4.1 矩阵乘法…...

库卡机器人减速机维修齿轮磨损故障

一、KUKA机器人减速器齿轮磨损故障的原因 1. 润滑不足&#xff1a;润滑油不足或质量不佳可能导致齿轮磨损。 2. 负载过重&#xff1a;超过库卡机械臂减速器额定负载可能导致齿轮磨损。 3. 操作不当&#xff1a;未按照说明书操作可能导致KUKA机器人减速器齿轮磨损。 4. 维护不足…...

【C/C++】我自己提出的数组探针的概念,快来围观吧

数组探针 在许多编程语言中如果涉及到数组那么就可以使用这个东西&#xff0c;便于遍历数组 中文名 数组探针 外文名 arrProbe 适用领域 大数据 所属学科 软件技术、编程 提出者 董翔 目录 1 概述2 工作原理3 应用场景 ▪ 数据处理和分析▪ 图像处理▪ 游戏开发▪…...

ArcGIS图斑分区(组)排序—从上到下从左到右

​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 ArcGIS图斑分区&#xff08;组&#xff09;从上到下从左到右排序 是之前的内容的升级 GIS技巧100例——12ArcGIS图斑空间排序 关于今天的内容 我们在19年已经和大家分…...

React useRef 组件内及组件传参使用

保存变量&#xff0c; 改变不引起渲染 import { useRef} from react; const dataRef useRef(null) ... dataRef.current setTimeout(()>console.log(...),1000)绑定dom const inputRef useRef(null) <input ref {inputRef} />绑定dom列表 - ref 回调 const ite…...

Intelij IDEA中Mapper.xml无法构建到资源目录的问题

问题场景&#xff1a; 在尝试把原本在eclipse上的Java Web项目转移至Intelij idea上时&#xff0c;在配置文件均与eclipse一致的情况下出现了如下报错&#xff1a; org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.umbrella.crm_core.…...

2024.6.23周报

目录 摘要 ABSTRACT 一、文献阅读 一、题目 二、摘要 三、网络架构 四、创新点 五、文章解读 1、Introduction 2、Method 3、实验 4、结论 二、代码实验 总结 摘要 本周阅读了一篇题目为NAS-PINN: NEURAL ARCHITECTURE SEARCH-GUIDED PHYSICS-INFORMED NEURAL N…...

鸿蒙实战开发:网络层的艺术——优雅封装与搭建指南(中)

前言 在鸿蒙开发的广袤天地中&#xff0c;网络层的搭建与封装无疑是构建高效、稳定应用的基石。继上篇的探索之后&#xff0c;本文将继续深入网络层的优化之旅&#xff0c;揭秘如何通过类型转换器、请求查询附加器以及丰富的常量参数&#xff0c;将网络层的构建艺术推向一个新…...

docker in docker 连私有仓库时报错 https

背景 jenkins 是使用 docker 方式部署的, 在 jenkins中又配置了 docker 的命令, 使用的宿主机的 docker 环境, 在jenkins 中执行 docker 相关命令的时候报错 jenkinse0e7b943b6e4:/$ docker login -u admin -p Harbor12345 172.16.100.15:80 WARNING! Using --password via t…...

mac怎么压缩pdf文件,苹果电脑怎么压缩pdf文件大小

在当今数字化时代&#xff0c;PDF文件已成为广泛使用的文档格式之一。然而&#xff0c;PDF 文件可能会因其包含的图像、图形和其他元素而导致文件较大&#xff0c;这可能会影响文件的传输、存储和共享。因此&#xff0c;对 PDF 文件进行压缩以减小其文件大小是很有必要的。今天…...

兴顺物流管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;驾驶员管理&#xff0c;物流资讯管理&#xff0c;车辆管理&#xff0c;基础数据管理 员工账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;物流资讯管理&…...