自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(420)
  • 资源 (1)
  • 收藏
  • 关注

原创 mybtais plus查询

package com.baomidou.mybatisplus.core.mapper 和package com.baomidou.mybatisplus.extension.service.impl 有啥区别那怎么选择使用哪个做查询操作综上所述,根据具体项目的需求、团队的技术栈和开发效率的考量来选择使用 com.baomidou.mybatisplus.core.mapper 或 com.baomidou.mybatisplus.extension.service.impl 进行查询操作。p

2024-07-16 11:25:41 314

原创 IDEA全局搜索和替换指定内容

idea默认快捷键ctrl + r: 当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件。(有一个上箭头,下箭头,可以点击选择性替换当前文件的内容数据。点击replace则是替换显示高亮的内容)idea默认快捷键ctrl + shift + r,默认在路径中替换,指的是在选定的目录下或者类包下,查找要被替换的字符(搜索结果这里可以选择某一条数据替换,点击Replace则是替换蓝色背景的这一条数据)1.全局替换:ctrl + shift + r。2.当前文件内容替换:ctrl + r。

2024-06-13 10:29:39 790

原创 mysql select * from student where age not in(23,24) 会把age等于null的数据筛选掉吗

在 MySQL 中,使用 NOT IN 子句进行筛选时,如果 age 字段包含 NULL 值,它不会被包括在查询结果中。这是因为在 SQL 中,与 NULL 进行比较时会得到未知(UNKNOWN)的结果,而不是 true 或 false。在 MySQL 中,使用!=操作符来筛选数据时,如果age字段包含NULL值,它也会被排除在结果之外。这是因为在SQL中,与NULL进行比较时会得到未知(UNKNOWN)的结果,而不是true或false。这样可以确保包括 age 为 NULL 的行在结果中。

2024-06-13 10:25:36 224

原创 在MongoDB中,您可以通过以下步骤来创建账号密码,并限制其在特定数据库上的访问权限

现在,您已经成功地为MongoDB数据库创建了一个带有用户名和密码的用户,并且限制了该用户在特定数据库上的权限。这将在admin数据库中创建一个名为adminUser的管理员账号,并为其分配userAdminAnyDatabase角色,该角色具有管理所有数据库的权限。这将在datasever数据库中创建一个名为dataUser的用户,并为其分配readWrite角色,该角色具有读写该数据库的权限。切换到目标数据库: 现在切换到您想要在其中创建用户的目标数据库。

2024-05-30 16:55:02 616

原创 Java是长连接

springboot服务用户的是线程池,返回结果之后,线程自动归还到线程池。一个连接池有10个连接,2个并发会占用2个连接,用完之后归还给连接池。Java是长连接,springboot进程被结束才断开。php是短链接,用完就释放了。

2024-05-29 16:17:53 346 2

原创 使用 MySQL 触发器 + 统计学生表实时计算表数据量

update_student_count_after_delete 触发器在每次从 students 表中删除数据后更新 student_statistics 表中的数据量信息。update_student_count_after_update 触发器在每次更新 students 表中的数据后更新 student_statistics 表中的数据量信息。要使用 MySQL 触发器实时计算表数据量,您可以创建一个触发器,当插入、更新或删除学生表的数据时,触发器就会更新另一个表中保存的学生表数据量信息。

2024-05-29 15:33:12 384

转载 二叉树遍历方法——前、中、后序遍历(图解)

一、前序遍历(1)递归版本(2)非递归版本二、中序遍历(1)递归版本(2)非递归版本三、后序遍历(1)递归版本(2)非递归版本四、总结五、测试程序六、程序输出二叉树的遍历是指按某条搜索路径访问树中的每个结点,使得每个结点均被访问一次,而且仅能访问一次(说明不可二次访问,一遍而过)。遍历一颗二叉树便要决定对根结点N、左子树L和右子树的访问顺序。二叉树常的的遍历方法有前序遍历(NLR)、中序遍历(LNR)和后序遍历(LRN)三种遍历算法,其中 “序” 指的是根结点在何时被访问。

2024-04-23 15:46:26 1132

原创 树 —— 树和森林的遍历

(2)从左到右,依次先根遍历根结点的每一棵子树。(1)从左到右,依次后根遍历根结点的每一棵子树。先根遍历序列为:ABECFHGD。后根遍历序列为:EBHFGCDA。若树非空,则遍历方法为。若树非空,则遍历方法为。

2024-04-23 09:50:08 224

转载 mysql查询中内连接和左连接有什么区别

需要注意的是,内连接和左连接仅是连接操作的两种常见类型,还有其他类型的连接(如右连接、全连接等)。在MySQL查询中,内连接(INNER JOIN)和左连接(LEFT JOIN)是常用的连接类型,它们在连接多个表时具有不同的行为和结果。左连接返回左表(左侧表)中的所有行,以及与右表(右侧表)中连接列匹配的行。另外,使用连接操作时,请确保在连接列上存在适当的索引,以提高查询性能。内连接返回满足连接条件的行,即只返回两个表中连接列匹配的行。如果有多个匹配的行,左连接将返回所有可能的组合。

2024-04-11 10:22:53 48

转载 centos7 在docker中安装mongodb(成功版本)fyf

5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase。才能创建,也就是只要创建过一次用户了都需要先auth才能操作,或者也可以把/data/mongo目录全部清空创建新容器(会丢失数据)3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;七、配置mongo的远程访问,在mongo容器里修改配置文件。

2024-03-26 16:43:25 129

原创 centos7 使用docker安装了mongo 怎么设置远程链接,必须使用密码才能连接

将 MongoDB 的 bindIp 配置从 127.0.0.1 修改为 0.0.0.0 是为了允许 MongoDB 监听来自任何网络接口的连接,而不仅限于本地回环接口。这对于需要在不同主机或容器之间进行远程连接的情况非常有用。但需要注意的是,开放到公共网络的 MongoDB 实例存在安全风险,因为未经身份验证的用户可能会尝试访问数据库。从宿主服务器上复制容器内的 MongoDB 配置文件到宿主服务器上,然后在宿主服务器上使用文本编辑器进行修改。修改完配置文件后,再将修改后的文件复制回容器内的相应位置。

2024-03-26 16:36:10 458

原创 为何创建了数据库,但是show dbs不显示

在 MongoDB 中,当数据库中没有集合(collections)时,使用 show dbs 命令可能不会显示刚创建的数据库。这是因为 MongoDB 在创建数据库时并不会立即显示在 show dbs 的输出中,而是直到该数据库至少包含一个集合时才会显示。如果你已经使用 use dataserver 创建了名为 “dataserver” 的数据库,但在使用 show dbs 命令时没有看到它,可以尝试向该数据库中添加一个集合,然后再次运行 show dbs 命令来查看该数据库是否显示。

2024-03-26 14:58:27 558

原创 centos7的docker安装的mongo,怎么设置账号密码

设置完成后,你就成功在 CentOS 7 的 Docker 安装的 MongoDB 中设置了账号密码。记得将 和 替换为实际的用户名和密码。其中 <container_id> 是 MongoDB 容器的 ID 或名称。输入 exit 退出 MongoDB shell。

2024-03-26 14:27:24 383

原创 centos7使用docker安装mongo

mongo

2024-03-26 14:26:10 222

原创 SpringBoot整合MongoDB

其中,mongodb://localhost:27017/mydatabase是MongoDB的连接URL,mydatabase是要连接的数据库名称。如果需要更灵活的操作MongoDB,可以使用MongoTemplate来执行原生的MongoDB操作,例如自定义的聚合操作等。创建对应MongoDB集合(表)的实体类,并通过注解标记对应的集合名称、字段等。

2024-03-06 17:18:26 558

原创 lombok——@EqualsAndHashCode(callSuper = true)注解的使用

细心的朋友会发现,在用 log 打印两个对象的时候,toString 方法只打印了子类属性,隐藏了父类属性,这里其实和 equals 方法一样,@Data 注解生成的 toString 方法也只包含了子类自有属性。根据使用过程中,这两个对象肯定是不一样的,但是,在不加 @EqualsAndHashCode(callSuper = true) 注解的情况下对这两个对象进行比较得到的结果却是 true。不加该注解的影响:子类对象属性值一致,但其继承的父类对象属性值不一致,在比较的时候会出现比较结果不对的情况。

2024-03-04 16:24:00 472

转载 Lambda新特性(一)--ForEach不能修改外部变量

java8 Lambda 新特性在一定程度上提高的代码的稳定性和安全性,而与以往的版本相比,优化的部分并不是简单的套用,需要我一个“坑”一个“坑”的去踩。推荐使用 Lambda提供的Steam流的规约操作,java.util.stream包提供了各种通用的和专用的规约操作(例如sum、min和max)然后写代码依然按照for怎么循环怎么处理,这样是不对的,毕竟语法的书写方式总是跟它的设计方式是吻合的。最近在使用java8提供的Lambda新特性,期间也踩了不少坑,这里记录一下。为什么要禁止修改外部变量?

2024-02-27 15:16:34 252

原创 java 怎么读取复杂的json里的值

【代码】java 怎么读取复杂的json里的值。

2023-12-13 14:49:52 793

原创 获取年-月

【代码】获取年-月。

2023-11-29 14:43:02 427

转载 SpringBoot统一封装返回结果和异常情况

4、添加@ControllerAdvice注解 ,实现ResponseBodyAdvice接口,并重写两个方法,通过判断request中是否有注解标记,如果有就往下执行,进一步包装。3、定义拦截器,拦截请求,判断Controller上是否添加了@ResponseResult注解。如果添加了注解在request中添加注解标记,往下传递。2、自定义一个注解@ResponseResult。1、创建code枚举和返回结果实体类。1、创建code枚举。2、创建返回结果实体。1、创建错误结果实体。

2023-11-20 17:26:03 435

转载 SpringBoot使用注解的方式统一返回接口结果集

7.控制器,用来发送请求,调用业务层获取数据,注意自定义注解是用在类上还是用在方法上,如果用在类上的话,则aop中的切点表达式使用的是@Around(@within(“xxx.xx.class”)),如果用在方法上则切点表达式为@Around(@annotation(“xxxx.xxx.class”))1.创建一个Result类,包含返回的状态码,返回提示消息和数据结果。14.配置application.propertis文件。11.访问结果 ,数据比较多,暂未截完整图。

2023-11-20 17:24:17 319

原创 spring aop应用场景

场景四: 缓存优化 (第一次调用查询数据库,将查询结果放入内存对象, 第二次调用, 直接从内存对象返回,不需要查询数据库 )jdk动态代理是接口的重写(适用于实现接口的类,spring aop的默认实现)场景五: 事务管理 (调用方法前开启事务, 调用方法后提交关闭事务 )场景二: 监控方法运行时间 (监控性能)cglib动态代理是类的继承。

2023-09-07 16:48:02 90

原创 阿里云OSS上传速度优化技巧

使用OSS内网地址:如果应用服务器与OSS服务器在同一地域,则使用OSS的内网地址上传文件可以提高上传速度。设置合适的分片大小:如果上传文件较大,可以将文件切分成多个分片进行上传。使用OSS SDK:使用OSS SDK进行上传可提高上传速度,避免使用HTTP PUT方法进行上传。开启断点续传:开启断点续传功能可以实现在上传过程中断线重连,上传速度可以更加稳定。使用上传加速服务:阿里云提供了上传加速服务,可以优化上传速度,提高上传成功率。压缩上传文件:将上传文件进行压缩可以减小文件大小,提高上传速度。

2023-08-15 09:58:18 753

原创 Jenkins+Nginx+vue

这样访问vue时,路径匹配prod-api就被Nginx反向代理到http://localhost:6517/;这个端口,这个端口是启动java后的端口。这样就能访问到java的接口。

2023-08-07 18:27:59 744

原创 码云 Gitee + Jenkins 配置教程

对于 PR 工作流,码云服务端已经将 PR 的原分支和目标分支作了预合并,您可以直接构建,如果目标分支不是默认分支(发布分支),您也可以进行上诉构建前合并。码云的 WebHook 管理中选择勾选了 Pull Request 的 WebHook 点击测试,观察 Jenkins 任务的构建状态。码云的 WebHook 管理中选择勾选了PUSH的 WebHook 点击测试,观察 Jenkins 任务的构建状态。Allowed branches 可以配置允许构建的分支,目前支持分支名和正则表达式的方式进行过滤。

2023-08-07 18:15:44 3669

原创 安装Jenkins

一、什么是JenkinsJenkins是一个开源软件项目,是基于Java开发的。我们可以利用Jenkins来实现持续集成的功能。因为Jenkins是基于Java开发的,所以在安装Jenkins之前首先需要安装Java的JDK。二、安装Jenkins在Windows平台上面安装Jenkins共有两种方式,下面分别介绍这两种方式。1、使用msi安装Jenkins安装Jenkins之前首先去Jenkins官网下载安装文件,Jenkins官网:https://jenkins.io/zh/

2023-08-07 17:46:36 1863

原创 windows 杀死某端口

netstat -ano | findstr 8081 //列出进程极其占用的端口,且包含 8081。

2023-08-04 11:29:20 57

原创 批处理文件的@echo off是什么意思?

使显示器停下,并显示“请按任意键继续_ _ _”当年的DOS,所有操作都用键盘命令来完成,@echo off并不是DOS程序中的,当然,“echo off”也是命令,可以把这么多命令存为一个批处理,当你每次都要输入相同的命令时,从此以后,只要运行这个批处理,会依次执行批处理中的每条命令,可以加一个“echo off”而是DOS批处理中的。DOS在运行批处理时,并且会在显示器上显示,如果你不想让它们显示,显示如下图hello1。显示如下图hello2。如果连这条也不显示,就在前面加个“@”。

2023-08-03 18:03:31 358

原创 java与javaw运行jar程序

一、java.exe启动jar程序 (会显示console黑窗口)二、javaw.exe启动jar程序(不显示黑窗口)进程中会显示“myProcess.exe”。

2023-08-03 15:25:56 1833

原创 jenkins自动化部署springboot项目【Windows版】

安装Jenkins。

2023-08-03 15:04:21 77

原创 Jenkins+Pipeline+Gitee本地自动化部署(Windows平台)

https://blog.csdn.net/xiaouncle/article/details/108635426https://blog.csdn.net/liqing0013/article/details/98031485https://blog.csdn.net/legend818/article/details/104148913

2023-08-01 18:15:30 91

原创 redis锁

为何防止1个管理员快速多次点击,数据库主从同步延时,导致:管理员第一次点击时,数据库查询还未开奖,进行开奖,第二次点击时和上次点击查1秒,但是从库数据还是未开奖,导致二次开奖。上述代码实现了1秒只能卖1个,如果1秒进来1000请求,还是1秒只能卖1个。加上锁后,10秒内此奖品只能开一次。

2023-07-12 11:58:11 306

转载 基于 RedisTemplate 自定义 Redis 操作类

【代码】基于 RedisTemplate 自定义 Redis 操作类。

2023-06-29 11:54:37 271

原创 使用程序判断出 2050年3月1日 是否是疯狂星期四

【代码】使用程序判断出 2050年3月1日 是否是疯狂星期四。

2023-06-16 18:12:45 167

转载 PHP+Redis实现分布式锁

在分布式环境下,各个线程通过对公共资源的抢占,能够使一个代码块在同一时间只能被一个机器的一个线程执行,这个机制就是分布式锁。分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性实现锁的操作主要有两个,即lock()和unlock()。分布式锁实现的注意点:1)互斥: 任意时刻, 只能有一个客户端获得锁2)不会死锁: 客户端持有锁期间崩溃, 没有主动解除锁, 能保证后续的其他客户端获得锁。

2023-06-15 16:32:19 1171

转载 解锁 Redis 锁的正确姿势

这里的token是一个随机数,当lock的时候,往redis的my:lock中存的是这个token,unlock的时候,先get一下lock中的token,如果和我要删除的token是一致的,说明这个锁是之前我set的,否则的话,说明这个锁已经过期,是别人set的,我就不应该对它进行任何操作。比如,这个锁我上了10s,但是我处理的时间比10s更长,到了10s,这个锁自动过期了,被别人取走了,并且对它重新上锁了。获取锁的机制是对了,但是删除锁的机制直接使用del是不对的。因为有可能导致误删别人的锁的情况。

2023-06-15 11:17:08 240

原创 需求:定义一个方法,方法接收一个集合对象(泛型为Student) 方法内部将年龄低于18的学生对象找出 并存入新集合对象,方法返回新集合

需求:定义一个方法,方法接收一个集合对象(泛型为Student)方法内部将年龄低于18的学生对象找出。并存入新集合对象,方法返回新集合。

2023-06-08 18:01:38 338

转载 需求:创建一个存储String的集合,内部存储(test, 张三, 李四, test, test)字符串,删除所有的test字符串,删除后,将集合剩余元素打印在控制台

【代码】需求:创建一个存储String的集合,内部存储(test, 张三, 李四, test, test)字符串,删除所有的test字符串,删除后,将集合剩余元素打印在控制台。

2023-06-08 17:32:11 132

原创 需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

👑在程序开发中,经常需要遍历集合中的所有元素。Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。tips::在进行集合元素取出时,如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生java.util.NoSuchElementException没有集合元素的错误。

2023-06-07 18:29:55 488

原创 需求:创建一个存储字符串的集合,内部存储3个字符串元素, 使用程序实现在控制台遍历该集合

【代码】需求:创建一个存储字符串的集合,内部存储3个字符串元素, 使用程序实现在控制台遍历该集合。

2023-06-07 18:28:57 67

网页特效—js特效

QQ客服代码,用于网页的特效。js代码,可以实现在线联系公司用户等

2013-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除