- 博客(36)
- 收藏
- 关注
原创 数据结构:八种数据结构大全
链表(Linked List):链表是由一系列节点Node(也可称元素)组成,数据元素的逻辑顺序是通过链表的指针地址实现,通常情况下,每个节点包含两个部分,一个用于存储元素的内存地址,名叫数据域,另一个则指向下一个相邻节点地址的指针,名叫指针域;数组(Array):数组是有序元素的序列,在内存中的分配是连续的,数组会为存储的元素都分配一个下标(索引),此下标是一个自增连续的,访问数组中的元素通过下标进行访问;很显然,我们的地图是一种无向图,以长沙到上海为例,经过的城市有长沙、南昌、杭州、上海等地;
2023-08-28 14:31:58
4255
1
原创 lombok 中的@Accessors注解用法
@Accessors 注解用来配置lombok如何产生和显示getters和setters的方法。@Accessors有三个属性,分别是fluent,chain,prefix,@Accessors注解既可以注解在类上也可以注解在属性上1.fluentfluent为一个布尔值,如果为true生成的get/set方法则没有set/get前缀,默认为false例如:@Accessors(flunet = true)public class MyClass {undefined@Getter.
2022-02-18 16:46:24
438
原创 @JsonSerialize(using = ToStringSerializer.class)和@JsonSerialize注解的使用方法
java中long数据能表示的范围比js中number大,在跟前端交互时,这样也就意味着部分数值在js中存不下(变成不准确的值)。解决办法可以这样:使用fastjson的ToStringSerializer注解,让系统序列化时,保留相关精度。/** * 记录属性的主键 */ @JsonSerialize(using = ToStringSerializer.class) private Long id;@JsonSerialize注解的使用方法关于这个
2022-02-18 16:39:50
876
原创 EasyPoi 导出文本图片Excel
一.参考官网文档:easypoi文档二.导入easypoi的maven依赖 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.2.0</version> </dependency> <dependency> &
2021-12-29 16:46:42
726
原创 MyBatis-Plus 使用详解
阅读目录一、MyBatis-Plus 1、简介 2、使用 SpringBoot 快速使用 MyBatis-Plus 二、Mybatis-Plus 常用操作 1、配置日志 2、简单认识一下常用注解 3、代码生成器 4、自动填充数据功能 5、逻辑删除 6、分页插件的使用 7、乐观锁的实现 三、Mybatis-Plus CRUD 操作简单了解一下 1、Mapper 接口方法(CRUD)简单了解一下 2、Service 接口方法(CRUD)简单了解一下 3
2021-12-23 14:34:44
39226
11
原创 Java秒杀高并发通过存储过程优化实现
本次秒杀优化是一个相对成本较低的秒杀方案,主要从mysql端实现,减少服务器与MySql的交互,针对减少网络延迟与gc方面进行优化实现。一般秒杀过程如下:如果有条件详情页数据可以放在CDN上面进行分发请求传说一秒等于10亿ns,因此系统时间可以不用获取 以上秒杀优化是现在大多公司使用的逻辑框架,但相应的运维维护成本,团队规模也有要求。下面分析行级锁方面的优化:由于Java服务端与MySql服务器之间的交互有网络延迟和Gc...
2021-12-23 11:09:25
978
原创 MyBatis-Plus_实体作为条件构造器构造方法的参数
文章目录/** * 1.传递的参数如果是实体类 * <p> * 注:这种情况传递过来的参数是等值的也就是= * 如果不想等值,例如:like '条件' * 在实体类中,需要处理属性的上面添加@TableField(condition ="%s<#{%s}") * <p> * 里面的condition,可以采用已经有的栗子,如果没有符合你需求的, * 可以参考SqlCondition(比
2021-12-21 18:13:31
693
原创 MyBatis-Plus分页查询及动态sql处理
导入依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.1</version> </dependency> <dependen
2021-12-21 17:59:58
1709
原创 MP条件构造器常用方法
常用方法:eq 等于eq(R column, Object val)eq(boolean condition, R column, Object val)ne 不等于ne(R column, Object val)ne(boolean condition, R column, Object val)gt 大于gt(R column, Object val)gt(boolean condition, R column, Object val)ge 大于等于g.
2021-12-21 15:28:40
2643
原创 MP利用构造器实现动态SQL
MybatisPlus利用构造器写动态SQL项目场景:SpringBoot+MybatisPlus+redis+jeecg:问题描述:今天有一个需求,前端有一个筛选器,可以根据一个数据表中6个字段筛选出这个数据表中的相应数据,这6个字段可传可不传问题分析:设计接口时,我把这6个字段封装到一个实体类中,让前端按照规则传入实体类的值。但由于这个实体类中的值不传的话为空,所以需要写一个动态SQL判断这个封装类中的所有值是否为空并拼接进sql语句中。解决方案:QueryWrapper<
2021-12-21 15:07:38
340
原创 MySQL中的insert ignore into, replace into等的一些用法总结
mysql中常用的三种插入数据的语句:一.insert into 表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错; insert … select … where not exist:根据select的条件判断是否插入,可以不光通过primary 和unique来判断,也可通过其它条件。例如:INSERT INTO books (name) SELECT 'xiaoming' FROM dual WHERE NOT EXISTS (SELECT id FRO
2021-12-17 16:24:07
944
原创 springMVC执行流程
springMVC执行流程:1.用户发送请求至前端控制器 DispatcherServlet2.前端控制器 DisptcherServlet 收到请求调用处理器映射器 HandlerMapping3.处理器映射器 HandlerMapping 根据请求url找到具体的处理器,生成处理器对象及处理器拦截器一并返回给前端控制器 DispatcherServlet4.前端控制器 DispaychServlet 通过处理器适配器 HandlerAdapter 调用处理器5.执行处理器,执行业务逻
2021-12-16 11:19:55
507
原创 Java学习:缓存
一、缓存1、什么是缓存? 缓存是硬件,是CPU中的组件,CPU存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:CPU主频1G),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大 ,缓存是为了解决CPU和内存两者速度差异问题的中间媒体,将CPU访问频率较高的数据从内存读入缓存,从而提高软件执行效率。 以上是硬件中缓存,软件中的缓存的定义更为广泛一些,实现的方式也更多一些,但目的是一样的,都是复制常用的数据到内存中方便CPU的快读读取(注意...
2021-12-15 17:28:25
160
原创 Java缓存学习:CDN缓存机制
CDN是什么? 关于CDN是什么,此前网友详细介绍过。 CDN是Content Delivery Network的简称,即“内容分发网络”的意思。一般我们所说的CDN加速,一般是指网站加速或者用户下载资源加速。举个通俗的例子: 谈到CDN的作用,可以用8年买火车票的经历来形象比喻:8年前,还没有火车票代售点一说,12306.cn更是无从说起。那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火车,火车票都要去市里的火车站购买,而从县城到市里,来回就是4个小时车程,简直就是浪费生
2021-12-15 16:17:20
1168
原创 java---什么是链式编程
在我们编写代码过程中,一定听说过许多编程说法:如:大家熟悉的面向对象编程、面向切面编程、以及函数式编程、范式编程等等。同时还有链式编程,接下来我们来聊一下链式编程普通: 1.维护性强; 2.对方法返回的类型无要求; 3.对程序员的业务要求适中;链式; 1.编程性强; 2.可读性强; 3.代码更简洁; 4.对程序员的业务能力要求高; 5.不太利于代码调...
2021-12-09 17:25:41
2540
原创 注解@Accessors(chain= true)的作用
注解@Accessors(chain= true)的作用 在我们平时写代码的时候,一般实体类上会加@lombok注解代替@Getter,@Setter注解或者代替set,get方法,以及@ToString等注解即可,来显得代码简洁,那么这个@Accessors(chain=true)注解是干嘛的呢? 其实这个注解是来自Lombok里面的,具体的作用是开启链式编程,让我们写代码更加方便。...
2021-12-09 16:57:30
4300
3
原创 实体映射工具之---MapStruct
目录 MapStruct是用来做什么的? 使用MapStruct解决上述问题 添加默认方法 可以使用abstract class来代替接口 可以使用多个参数 直接使用参数作为属性值 更新对象属性 没有getter/setter也能赋值 使用Spring依赖注入 自定义类型转换 首先来了解一下DTO,DTO简单的理解就是做数据传输对象的,类似于VO,但是VO用于传输到前端。1.MapStruct是用来做什么
2021-11-26 14:55:38
1997
原创 MapStruct---多级嵌套结构的例子
大家都知道MapStruct在Java中用来做不同对象之间的转换(DTO,DO,BO,VO...),使用方式简单,只需要按规则写一个相关接口,甚至不需要实现(较类似于jpa的JpaRepository接口的使用方式),就能直接完成对象间的转换。今天一起聊一下多级嵌套映射的例子以下是官方介绍(摘要):官方文档链接MapStruct官网MapStruct 是一个 Java 注释处理器,用于生成类型安全的 bean 映射类。您所要做的就是定义一个映射器接口,该接口可以声明任何您...
2021-11-19 11:24:00
8602
原创 MYSQL必知必会------创建计算字段
MySQL已经成为世界上最受欢迎的数据库管理系统之一。无论是用 在小型开发项目上,还是用来构建那些声名显赫的网站,MySQL都证明 了自己是个稳定、可靠、快速、可信的系统,足以胜任任何数据存储业 务的需要。 借工作之余,大家一起聊一下什么是计算字段,如何创建计算字段以及怎样从应用程序 中使用别名引用它们。 1.计算字段 有时候,储存在数据库表中的数据不是应用程序所需要的格式,那么就需要进行创建字段以满足应用程序。下面举几个例子: ...
2021-11-18 16:21:56
1532
原创 e-r数据建模-概念模型 逻辑模型 物理模型-总结
作为一名合格的Java程序员,公司要求要掌握的知识面越来越多。特别对于一些小型公司岗位并没有分的很细化,所以在平时开发中就要求各种技能同时兼顾。一般从产品对接业务确定以后,后面就要设计数据库建模了。但在日常项目中,常常公司初级、中级研发同事在系统表结构设计或数仓表结构设计过程中,很多人都没有听说过概念模型、逻辑模型、物理模型或者了解一点不够透彻,所以今天这篇文章和大家一起梳理下,什么是概念模型、逻辑模型、物理模型。推荐大家使用powerDesigner进行概念模型、逻辑模...
2021-11-15 16:50:35
2167
原创 CSDN-不错
csdn是专业的it开发者社区,申请一个csdn账号有助于记录我们平时所学的点点滴滴。官网地址:https://www.csdn.net/我们可以在官网申请自己的账号,你可以手机号直接登录也可以微信注册。有了自己的账号后我们就可以在csdn上发表自己的文章了。发扬中华民族传统美德,互帮互助,为中华民族代码崛起努力。。。。。。...
2021-11-15 15:20:33
359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人