自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (8)
  • 收藏
  • 关注

原创 mybatis-plus动态分页

本文介绍了MyBatis-Plus实现多表关联查询的物理分页方法。首先说明了MyBatis-Plus自带CRUD和单表分页功能,但多表关联查询需要自定义实现。通过XML配置SQL语句,演示了一个包含商品SKU、SPU和品牌三表关联的查询示例,支持条件筛选和分页。文中提供了三个关键实体类的代码示例:ProductSkuDO(商品SKU数据对象)、ProductSkuRespReVO(响应视图对象)和ProductSpuPageReqqVO(查询请求对象)。该方法解决了内存分页的性能问题,实现了数据库层面的物理

2025-05-26 18:42:56 334

原创 Java 树形结构,根据名称搜索

摘要 本文实现了一个树形结构搜索功能,针对三层分类结构(ProductCategoryRespVO)实现按名称模糊搜索并保持原有层级关系。核心方案包括: 定义树节点结构,包含id、parentId、name等字段及children子节点列表 使用递归算法遍历树结构,通过SearchContext记录搜索路径 根据匹配节点的不同层级(1/2/3级),动态构建包含完整父级路径的结果树 支持模糊匹配(contains搜索)而非精确匹配 提供树节点克隆方法(带/不带子节点)确保结果数据独立性 该方案有效解决了树形数

2025-05-26 15:50:01 459

原创 芋道项目,商城模块数据表结构

最近公司有新的业务需求,调研了一下,决定使用芋道(yudao-cloud)框架,于是从github(https://github.com/YunaiV/yudao-cloud)上克隆项目,选用的是jdk17版本的。根据项目启动手册(https://cloud.iocoder.cn/quick-start/)启动了后端项目,感觉很开心,但是,但是,当我使用商城模块时,发现没有表结构,想要sql的话还得付费去买。芋道宣传的很牛皮,对所有用户永久开源免费,没想到它还是留了一手。废话不多说,直接上sql。

2025-05-15 17:19:56 628

原创 芋道(yudao-cloud)项目,后端接口报401-账号未登录解决方案

在使用芋道(yudao-cloud)框架进行开发时,遇到了通过Swagger访问接口时出现401未登录错误的问题。经过多次尝试和网上搜索,发现通过修改Knife4j的Authorize配置并未解决问题。最终,通过切换Swagger的UI样式为doc.html,并在全局添加header的方式,成功解决了该问题,无需修改代码即可正常访问接口。这一解决方案不仅简化了开发流程,还提高了与前端交互的效率。

2025-05-13 17:54:22 733

原创 springboot全局异常捕获处理

springboot全局异常处理

2025-04-18 14:44:06 396

原创 Java 同一个列表,每行的数据类型不一样,返回统一结构

实际项目中,经常存在不同行,数据结构不一样的情况,但是又不能统一返回字符串格式,需要处理这种问题。

2024-03-29 17:37:39 306 1

原创 记录一下对集合排序,处理属性为空且参与排序方法

实际项目中经常存在对集合某个或多个属性进行排序,例如根据姓名排序,根据金额排序;或者多个字段排序,例如姓名首字母升序+金额降序两个字段排序等等。但是有时候姓名或金额会为空,之前我们排序的时候需要拿出这些属性做判空处理,然后再排序,不然会报错。今天这个方法不用自己处理空字段判读了,并且值为空也参与排序。

2024-01-23 15:28:33 1852

原创 通过反射给有固定字符串的属性字段的实体赋值

给有固定属性字段的实体赋值

2024-01-22 18:20:12 481

原创 Java 本地缓存CaffeineCache简单使用案例

Java 本地缓存CaffeineCache简单使用案例,SimpleCacheManager和CaffeineCacheManager两种方式。

2024-01-16 18:46:19 1756

原创 使用@JsonSerialize注解处理单位换算以及数据默认值

使用@JsonSerialize,来解决单位换算,以及数据为空时返回“**”默认值问题。例如有时候我们需要将金额,以万元的形式返回,需要千分位等等。

2024-01-15 15:24:43 663

原创 @JSONField或@JsonProperty注解使用

使用@JSONField或@JsonProperty注解,来解决bean与json字段不一致问题,或者字段定义不符合前端所需要的标准,最近在项目中发现实体类属性中,同时使用了@JSONField和@JsonProperty注解,用于重新声明属性key。有时候注解生效,有时候注解不生效。我很好奇到底是哪个注解生效了,于是进行了各种验证,基本搞明白了。

2023-11-10 16:25:02 8238

原创 Java 客户端、服务端NIO大文件传输

公司电脑不让使用U盘,又不想通过公司聊天软件传输,怕被监控。但是通过QQ、微信传输文件对文件大小又有限制。基于种种原因,自己简单写了个服务端、客户端进行文件传输,大文件最好在局域网内进行数据传输。

2023-11-02 18:15:28 552

原创 Java 将数据导出到Excel并发送到在线文档

现将列表数据,导出到excel,并将文件发送到在线文档,摒弃了以往的直接在前端下载的老旧模式。

2023-10-27 18:53:33 342

原创 excel巧用拼接函数CONCAT输出JSON、SQL字符串

工作中有时候需要用Excel对数据进行组装,需要输出JSON或者SQL语句,然后通过脚本或Java程序完成一些特定功能,总结了一下用到的函数,方便以后使用。这里使用的是WPS软件。

2023-10-26 09:49:27 2906 2

原创 Java 基于CompletableFuture线程池简单使用案例二

之前自己写了一个ThreadPoolTaskExecutor线程池样例,现在基于CompletableFuture写法,记录一下。

2023-06-07 14:40:49 589

原创 Java使用redission分布式锁--注解方式

*** @return/*** 是否开启开门狗 开启看门狗后leaseTime默认为30秒,也可自己配置时间* 开启看门狗后,只要占锁成功,就会启动一个定时任务【重新给锁设置过期时间,新的过期时间就是看门狗的默认时间】,每隔10秒都会自动再续成30秒* @return/*** 重试时间(重试获取锁自旋时间)* @return/*** 锁的有效时间* @return/**

2023-05-01 09:11:53 641

原创 Java 使用StopWatch输出代码执行耗时以及执行时间百分比

StopWatch监控方法执行时间

2023-04-21 14:38:53 802

原创 Java 输入一组起止月份,输出它的有序子集

输入一组起止月份,输出它的子集(子集中只包含两个元素) 并且元素要有顺序,即第一个元素时间小于第二个元素时间例如输入:2023-01,2023-03 输出:[["2023-01","2023-02"],["2023-01","2023-03"],["2023-02","2023-03"]]

2023-04-19 18:34:55 158

原创 Java springboot EasyExcel Excel自定义表头导出demo

现有一个业务,需要将列表数据导出excel,并返回给前端。表头有合并、拆分,结构比较复杂,使用EasyExcel将数据导出。这里采用了两种返回方式:导出到本地、直接返回给前端。1、直接执行ExcelService中的main方法,将数据保存到本地。2、启动springboot项目,浏览器分别访问。

2023-04-19 18:23:07 3376

原创 Java自定义字段动态排序

现有一个业务,需要根据表头字段对返回的数据进行动态升序、降序排序,目前只支持数字类型三、创建前端查询实体四、创建前端返回实体五、定义mapper类六、抽离工具类七、编写service八、测试结果:Gitee仓库:https://gitee.com/Dev9925/custom-sorting-demoGitHub仓库:

2023-04-18 11:01:19 1441

原创 Spring Cloud通过Feign请求springboot微服务时返回值LocalDateTime异常处理

A服务调用B服务,由于B服务接口实体类中有LocalDateTime字段,导致A服务调用时解析报错,单独调用B服务接口是正常返回数据。2、服务提供方(B服务)接口实体类需要增加注解。

2022-12-29 17:00:47 2313

原创 MySQL REGEXP正则表达式使用一个字段逗号拼接查询

2、例如搜索 ‘狗’ ‘鸟’ 则返回两条记录。1、例如搜索‘小’,则返回三条记录。2、mybatis 写法。

2022-11-14 19:44:01 638

原创 springboot整合redisson简单实现分布式锁--重入锁

springboot整合redisson简单实现分布式锁--重入锁。

2022-10-09 15:22:58 397

原创 Springboot MybatisPlus整合多数据源

Springboot MybatisPlus整合多数据源

2022-09-22 13:54:17 496

原创 Java 线程池简单使用案例一

最近项目上用到了线程池,自己手写了一个ThreadPoolTaskExecutor线程池样例。

2022-07-22 17:34:16 545

原创 记一篇Mockito MyBatisPlus 单元测试时报can not find lambda cache问题

记一篇Mockito MyBatisPlus 单元测试 junit刚才在写单测时,由于代码中用到了queryWrapper.orderByDesc()方法,报错com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can not find lambda cache for this entity [com.orm.mybatis.entity.Stusent]...

2022-07-08 16:48:38 7344 4

原创 正则表达式匹配字符长度

正则表达式匹配字符长度

2022-05-27 16:56:42 4377

原创 MySQL 判断某一列是否重复

在实际项目中,我们经常定义一列在全局中为唯一值 ,但是由于自己唯一值计算可能导致数据重复(没有使用唯一索引),我们该怎么判断某一列数据是否重复了呢?废话不多说,直接上sql。

2022-05-26 15:36:32 2004

原创 记一篇MybatisPlus分页失效解决方案

刚才使用mybatisplus提供的Page分页时,一直失效,看网上说要加配置什么的,试了多种方案还是不行。最后自己结合github pagehelper实现了分页,目前还不知道有没有其他影响。我使用的是springboot项目,下面就开始编码吧。

2022-05-20 15:43:59 4771

原创 JAVA 大数据Excel POI生成导出

一、背景在工作中经常会将List导出Excel,但是有时数据量很大,需要一次性导出。为防止各个系统重复造轮子,本文通过注解方式来实现Excel的普通、分片生成。二、直接上代码1、导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> ...

2022-04-12 19:35:16 2271

原创 SpringBoot读取Resource下文件的几种方式亲测可用记录一下

最近在项目中涉及到Excle的导入功能,通常是我们定义完模板供用户下载,用户按照模板填写完后上传;这里待下载模板位置为resource/excelTemplate/test.xlsx,尝试了四种读取方式,并且测试了四种读取方式分别的windows开发环境下(IDE中)读取和生产环境(linux下jar包运行读取)。第一种:ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.xlsx");.

2021-03-25 12:53:38 233

原创 记一次JPA表关联查询,自定义返回结果

在这之前在网上搜了好多种方式都不能进行多表关联查询,并自定义返回结果集。这里采用的是接口的形式,封住返回集的。话不多说上代码。*****************表对应的实体*****************package com.cn.domain;import lombok.Data;import javax.persistence.*;import java.io.Serializable;@Data@Entity@Table(name = "user")public.

2020-06-05 10:17:19 439

原创 Jackson和fastjson处理返回的参数为null、或者不返回

package com.aiqin.bms.slcs.api.config;import com.alibaba.fastjson.serializer.SerializerFeature;import com.alibaba.fastjson.support.config.FastJsonConfig;import com.alibaba.fastjson.support.spring...

2020-03-06 15:07:23 3130 2

原创 sum()函数在mybatis中使用时,统计的数据为null时,映射到实体类报错

在 mybati 中 使用 sum 函数,如果返回的值是0,也就是没有数据可以计算的时候 ,不会返回 0 而是返回null. 而我们在 mapper 定义的时候 用的是integer,这样就会报错了。SQL: coalesce()函数①用途:将空值替换成其他值返回第一个非空值②表达式:COALESCE是一个函数, (expression_1, expressio...

2020-03-05 23:07:51 1818

原创 The field file exceeds its maximum permitted size of 1048576 bytes

错误信息:The field file exceeds its maximum permitted size of 1048576 bytes原因是因为SpringBoot内嵌tomcat默认所能上传的文件大小为1M,超出这个就会报错。解决办法:1.修改application.yml配置文件spring: http: multipart: enab...

2020-03-04 14:23:05 5269

原创 java8 对list集合中的对象遍历,重新赋值两种方法,遍历某个属性返回数组

import lombok.extern.slf4j.Slf4j;import org.springframework.beans.BeanUtils;import java.util.ArrayList;import java.util.List;import java.util.UUID;import java.util.stream.Collectors;/** * d...

2020-01-11 15:52:51 52508 2

原创 springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全)

package com.aiqin.mgs.market.api.config;import com.alibaba.fastjson.serializer.SerializerFeature;import com.alibaba.fastjson.support.config.FastJsonConfig;import com.alibaba.fastjson.support.spri...

2019-11-22 17:08:23 6458 1

转载 两个大数相乘、相加,使用字符串计算。(搬砖)

代码:依赖:<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lan...

2019-04-29 14:02:16 233

原创 图中显示了6个正方形,其边长为1、1、2、3、5、8。很容易看出这些方块的周长之和是:4*(1+1+2+3+5+8)=4*20=80

图中显示了6个正方形,其边长为1、1、2、3、5、8。很容易看出这些方块的周长之和是:4*(1+1+2+3+5+8)=4*20=80当有n+1个正方形以与图中相同的方式排列时,你能给出矩形中所有正方形的周长之和吗?可选文字#提示:参见斐波那契序列#参考:http://oeis.org/a00045函数周长具有参数n,其中n+1是平方数(从0到n编号),并返回所有平方的总周长。...

2019-04-29 13:52:57 691

转载 计算一个数的阶乘

import java.math.BigInteger;import java.util.ArrayList;/** * @program: nettytest * @description: * @create: 2019/04/24 16:32 */public class Kata1 { public static String Factorial(int num...

2019-04-24 17:27:33 675

芋道(yudao-cloud)项目,商城模块数据表结构,包含:商品模块(中心)交易模块(中心)营销模块(中心)统计模块(中心)会员模块(中心)

芋道(yudao-cloud)项目,商城模块数据表结构,包含:商品模块(中心)交易模块(中心)营销模块(中心)统计模块(中心)会员模块(中心)

2025-05-15

jdk1.8.0_171.rar

此压缩包中包含了两个文件: 一、linux安装jdk.txt 二、jdk-8u171-linux-x64.tar.gz 详细的说明了linux下安装jdk,不用去官网下载安装包,因为现在官网需要用户验证

2019-05-11

springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全)

springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全),给为空字段初始化值,如:字符串null转换为""

2019-11-22

springboot1.5.9整合elasticsearch2.3.5附带demo(代码+附带elasticsearch数据库)

springboot1.5.9整合elasticsearch2.3.5,elasticsearch跟springboot整合需要注意版本兼容,我这里整合的都是比较旧的版本。附带elasticsearch数据库。有问题随时留言。

2018-12-24

动态的装配bean,注入到Controller中

有时候根据需求会动态的装配bean,注入到Controller中,现在提供两种方式: 一、xml文件配置方式,ApplicationContext.xml 二、@PostConstruct注解方式

2019-04-01

IP和十进制数互转,使用Java实现。

Take the following IPv4 address: 128.32.10.1 This address has 4 octets where each octet is a single byte (or 8 bits). 1st octet 128 has the binary representation: 10000000 2nd octet 32 has the binary representation: 00100000 3rd octet 10 has the binary representation: 00001010 4th octet 1 has the binary representation: 00000001 So 128.32.10.1 == 10000000.00100000.00001010.00000001 Because the above IP address has 32 bits, we can represent it as the unsigned 32 bit number: 2149583361 Complete the function that takes an unsigned 32 bit number and returns a string representation of its IPv4 address. Examples 2149583361 ==> "128.32.10.1" 32 ==> "0.0.0.32" 0 ==> "0.0.0.0"

2019-04-26

jpa-demo.zip

Springboot Jpa 联表查询,返回自定义实体。写的比较简单,望见谅。在这之前在网上搜了好多种方式都不能进行多表关联查询,并自定义返回结果集。这里采用的是接口的形式,封住返回集的。

2020-06-05

PerfectPower.java

Java给出一个数,返回它的所有的开n次方根,存入数组。 如: mathod(5);------》null mathod(8);------》[2, 3] mathod(125);------》[5, 3] mathod(91);------》[9, 2, 3, 4]

2019-05-13

StringUpTest.java

例如: 输入:Not Jaden-Cased: "How can mirrors be real if our eyes aren't real" 输出:Jaden-Cased: "How Can Mirrors Be Real If Our Eyes Aren't Real"

2019-12-10

空空如也

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

TA关注的人

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