当前位置: 首页> 教育> 高考 > 代运营合同模板_网络游戏制作软件_江门网站开发多少钱_搜索引擎链接

代运营合同模板_网络游戏制作软件_江门网站开发多少钱_搜索引擎链接

时间:2025/7/12 8:54:25来源:https://blog.csdn.net/a1275302036/article/details/136644339 浏览次数:2次
代运营合同模板_网络游戏制作软件_江门网站开发多少钱_搜索引擎链接

文章目录

    • MySQL触发器
    • ElasticSearch按日期分组查询每天的文档数量
    • MySQL中order by排序将null排在最前或者最后面
    • swagger3.0默认访问路径
    • swagger3.0模块化配置
    • MySQL中要少用UNION,多用UNION ALL
    • ElasticSearch Bucket & Metric聚合分析及嵌套聚合
    • Mysql case when做空值和非空判断
    • Nacos配置文件动态刷新的四种方法
    • JetCache的@Cached注解只有key支持获取方法参数中的值
    • MySQL union all和order by同时使用[排序会失效]
    • Windows Nginx测试配置文件、启动、停止、重启命令
    • 查看Maven依赖的第三方jar的最低要求项目运行的(jar包实际编译jar)jdk版本
    • 导出excel接口需要controller方法返回值为void
    • MySQL字符串截取:左截取、右截取、按关键字截取
    • xalan2.7.2升级2.7.3后运行报错
    • spring-boot-starter-parent 与 spring-boot-dependencies的区别
    • IntelliJ IDEA中的VM Options、Program Arguments和Environment Variable的区别

MySQL触发器

语法:

CREATE TRIGGER 触发器名 
触发器时间 触发事件
ON 表名 FOR EACH ROW
BEGIN执行语句
END

说明:

1、触发器名 - 触发器的名称
2、触发器时间 - 触发器触发的时机,值为 BEFORE或AFTER
3、触发器事件 - 引起触发器触发的事件,值为INSERT或UPDATE或DELETE
4、表名 - 触发触发器的表名,即该触发器是建立在那张表上面的
5、执行语句 - 即为触发器出发后执行的操作。可以使用old和new关键字。

示例:

DELIMITER $$
CREATE
TRIGGER `update_department_id` 
AFTER  UPDATE 
ON `wb_user`
FOR EACH ROW BEGIN
UPDATE wb_user_20230817 set department_id = '123456' where mobile = '187****785';
END$$
DELIMITER ;

因为会造成死循环,在同一个表中不能使用insert/update/delter,否则会报错。

解决方法:
使用set语句(且要before update)

IF new.mobile ='187****85' or new.mobile ='187****86' or new.mobile ='138****810'THENset new.department_id = '6666';
END IF;

总结:

  1. set要和before一起使用
  2. 不能使用update、insert、delete更改同表数据的值,否则会不断调用触发器从而造成死循环

参考链接、参考链接、参考链接

ElasticSearch按日期分组查询每天的文档数量

示例hql:

# 按日期分组聚合查询
GET  repetition-result/_search
{"size": 0,"aggregations": {"group_by_starttime": {"date_histogram": {"field": "createTime","calendar_interval": "1d","offset": 0,"order": {"_key": "asc"},"keyed": false,"min_doc_count": 1},"aggregations": {"count_id": {"value_count": {"field": "id.keyword"}}}}}
}

返回示例:

{"took": 22,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 10000,"relation": "gte"},"max_score": null,"hits": []},"aggregations": {"group_by_starttime": {"buckets": [{"key": 1691539200000,"doc_count": 71043,"count_id": {"value": 71043}},{"key": 1691625600000,"doc_count": 134818,"count_id": {"value": 134818}},{"key": 1691712000000,"doc_count": 1382,"count_id": {"value": 1382}},{"key": 1692144000000,"doc_count": 35,"count_id": {"value": 35}},{"key": 1692230400000,"doc_count": 25,"count_id": {"value": 25}}]}}
}

参考链接

MySQL中order by排序将null排在最前或者最后面

默认情况下,MySQL会认为NULL值比其他类型的数据小, 也就是说:在order by排序的时候,NULL是最小的。

NULL排在后面、审批时间升序排列。两种实现方法如下:

方法一:

order by isnull(score_time),score_time asc; 

方法二 :

order by score_time is null asc,score_time asc;

ifnull(value)、is null:当值为null时返回1,不为null时返回0。
参考链接

swagger3.0默认访问路径

http://ip:端口/context-path/swagger-ui/index.html

示例:
http://127.0.0.1:30304/management/swagger-ui/index.html

swagger3.0模块化配置

配置代码如下:

import io.swagger.v3.oas.models.info.Info;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springdoc.core.GroupedOpenApi;
import org.springdoc.core.customizers.OpenApiCustomiser;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** swagger模块配置** @author chuenhung* @createTime 2023/09/14*/
@Configuration
public class SpringDocConfig {private static final Logger logger = LoggerFactory.getLogger(SpringDocConfig.class);@Beanpublic GroupedOpenApi groupedOpenApi() {logger.info("开始management模块 swagger模块配置");return GroupedOpenApi.builder().group("management模块接口文档").packagesToScan("com.aspirecn.rewardmanagement").addOpenApiCustomiser(openApiCustomiser()).build();}private OpenApiCustomiser openApiCustomiser() {return wfRestApiInfo -> wfRestApiInfo.info(new Info().title("management模块接口文档").description("management模块接口文档").termsOfService("").version("1.0"));}
}

效果如下:
在这里插入图片描述

MySQL中要少用UNION,多用UNION ALL

UNION去重是基于临时表。
临时表特性是如果缓存够使用、内存缓存不够自动创建MyISAM引擎表,IO效率变差。
少用UNION,多用UNION ALL。

ElasticSearch Bucket & Metric聚合分析及嵌套聚合

在这里插入图片描述

示例:
在这里插入图片描述
参考链接

Mysql case when做空值和非空判断

示例代码:

(case when data is null then 'A' else 'B' end) 'C'
(case when data is not null then 'A' else 'B' end) 'C'

Nacos配置文件动态刷新的四种方法

  • 使用Spring的@RefreshScope注解
  • 使用Nacos的@NacosConfigurationProperties注解
  • 使用Nacos的ConfigListener接口
  • 使用Nacos的@NacosValue注解

注意:
1、使用的是spring-cloud-starter-alibaba-nacos-config依赖,@NacosValue注解获取不到值,官方也是推荐使用@value
2、使用@NacosConfigurationProperties注解时,即使没有前缀也要加上@ConfigurationProperties(prefix = “”)否则会获取不到值
参考链接、参考链接

JetCache的@Cached注解只有key支持获取方法参数中的值

在这里插入图片描述

MySQL union all和order by同时使用[排序会失效]

例如:

select * from (select id,title,status,create_time,release_time 
from t_notice
where status = '2'
order by create_time desc) t1
union all 
select *  from (select id,title,status,create_time,release_time 
from t_notice
where status = '0'
order by create_time desc)t2

在这里插入图片描述

可以看出union all合并的结果并不是两个子查询返回的结果。

即union all到顺序取决于数据库管理系统是如何存储和访问数据的。如果我们需要有序的结果集,可以使用ORDER BY语句对合并后的结果进行排序。

表合并(union)与排序(order by)不能共存的问题

Windows Nginx测试配置文件、启动、停止、重启命令

D:\Program Files\nginx-1.24.0>nginx -t
nginx: the configuration file D:\Program Files\nginx-1.24.0/conf/nginx.conf syntax is ok
nginx: configuration file D:\Program Files\nginx-1.24.0/conf/nginx.conf test is successful

D:\Program Files\nginx-1.24.0>nginx.exe

D:\Program Files\nginx-1.24.0>nginx -s stop

D:\Program Files\nginx-1.24.0>nginx -s reload

注意:配置文件需打开日志格式化log_format配置,否则会报错。

查看Maven依赖的第三方jar的最低要求项目运行的(jar包实际编译jar)jdk版本

操作方法:
IDEA找到依赖的jar包 -> 打开其中的任意一个class文件 -> 查看最近要求项目运行的(jar包实际编译jar)jar
在这里插入图片描述

Build-Jdk、Build-Jdk-Spec是该jar包推荐的jdk运行版本并不是实际编译的jar版本

升级项目jar包建议:
1、在小版本中升级,尽量不要跨大版本
2、一次只升级3-5个jar包,确保项目可以运行再升级其他的

参考链接、参考链接

导出excel接口需要controller方法返回值为void

如果controller返回不是void可能会报下面的错误:
No converter for XXX with preset Content-Type ‘application/vnd.ms-excel;charset=utf-8‘

MySQL字符串截取:左截取、右截取、按关键字截取

1、左截取LEFT(str,len)
str:被截取的字符串
len:截取长度

2、右截取RIGHT(str,len)
str:被截取的字符串
len:截取长度

3、截取特定长度的字符串SUBSTRING
语法:
SUBSTRING(str,pos)
str:被截取的字符串
pos:从第几位开始截取

示例:

// 从字符串的倒数第3个字符开始截取直至结束
SELECT SUBSTRING('TF-8220210412003-1', -3)
# 结果为:3-1// 从字符串的倒数第9个字符开始,只截取3个字符
SELECT SUBSTRING('TF-8220210412003-1', -9, 3)
# 结果为:041

4、按关键字进行截取:
语法: substring_index(str, delim, count)
str:被截取的字符串
delim:关键字
count:关键字出现的次数

示例:

// 截取第二个"-"之前的所有的字符
SELECT SUBSTRING_INDEX('集团公司-1109-1109', '-', 2);
# 返回:集团公司-1109
// 截取倒数第二个"-"之前的所有的字符
SELECT SUBSTRING_INDEX('集团公司-1109-1109', '-', -2);
# 返回:1109-1109

xalan2.7.2升级2.7.3后运行报错

问题原因:
2.7.3版本没有依赖serializer。
解决方法:
加入serializer依赖。

<dependency><groupId>xalan</groupId><artifactId>xalan</artifactId><version>${xalan.version}</version>
</dependency>
<dependency><groupId>xalan</groupId><artifactId>serializer</artifactId><version>${xalan.version}</version>
</dependency>

参考链接

spring-boot-starter-parent 与 spring-boot-dependencies的区别

主要区别是:
1、spring-boot-starter-parent继承自spring-boot-dependencies,即spring-boot-dependencies是spring-boot-starter-parent的父依赖
2、spring-boot-starter-parent可以通过property覆盖内部的依赖,spring-boot-dependencies不可以 3、spring-boot-dependencies需要在dependencyManagement中使用 import的方式导入进来

参考链接

IntelliJ IDEA中的VM Options、Program Arguments和Environment Variable的区别

参数详细说明示例代码获取方式
VM Options虚拟机参数,用于设置Java虚拟机的相关参数,例如内存大小、垃圾回收策略等。VM options需要以-D、-X或-XX开头,多个参数使用空格隔开。-Djasypt.encryptor.password=15d670c2d -DmyTestConfig=测试1、SpringBoot可以读到,使用@Value注解获取。2、System.getProperty(“name”)方法获取
Program Arguments项目参数,多个参数使用空格隔开。jasypt.encryptor.password=15d670c2d myTestConfig=测试main(String[] args)方法获取,SpringBoot读不到
Environment Variables环境变量,用于设置操作系统的环境变量,例如PATH、JAVA_HOME等。多个参数使用 分号; 隔开。jasypt.encryptor.password=15d670c2d;myTestConfig=测试1、SpringBoot可以读到,使用@Value注解获取。2、System.getenv(“name”)方法获取

其他说明:

  • SpringBoot获取配置文件优先级:配置文件配置 < Environment Variables < VM Options,即虚拟机配置参数优先级最高
  • IDEA的Environment Variables相当于命令行 java --指定参数
  • 经测试,System.getenv()方法只可以获取环境变量的值,获取不到虚拟机参数的值。

Idea中的VM Options、Program Arguments、Environment Variable全解析、介绍Java -D和–命令行参数

关键字:代运营合同模板_网络游戏制作软件_江门网站开发多少钱_搜索引擎链接

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: