学习笔记
拂晓神剑zzz
这个作者很懒,什么都没留下…
展开
-
商品上架业务
(1)spu与sku设计成一个索引,通过查询spu就能查询到每一条具体的sku数据,缺点是存入es数据量庞大,占用空间大(优先考虑)从查询思路出发,查询商品信息是根据spu查sku,核心是sku,又因为spu与sku是一对多的关系,所有我们存储检索数据有两种方式。(2)spu与sku分开,单独索引,查询时先查spu,然后再查出具体sku,虽然存入es数据量不大,但是查询效率低。检索商品的名字,如“手机”,对应的 spu 有很多,我们要分析出这些 spu 的所有关联属性,原创 2023-05-31 21:56:39 · 663 阅读 · 0 评论 -
ElasticSearch之JavaAPI使用
ElasticSearch版本7.4.2。原创 2023-05-30 01:36:32 · 146 阅读 · 0 评论 -
ElasticSearch嵌套查询
(1)按年龄进行分组 --> 每个年龄段再按性别M,F分组 --> 再求出每个性别的薪资平均值。(2)求出每个年龄的评价薪资。原创 2023-05-29 11:18:01 · 302 阅读 · 0 评论 -
Java8新特性:Stream API
为什么要使用Stream API ?实际开发中,项目中多数数据源都来自于Mysql,Oracle等。但现在数据源可以更多了,有MongDB,Radis等,而这些NoSQL的数据就需要Java层面去处理。Stream 和Collection 集合的区别:Collection 是一种静态的内存数据结构,而Stream 是有关计算的。前者是主要面向内存,存储在内存中,后者主要是面向CPU,通过CPU 实现计算。Stream 说明:Stream 自己不会存储元素Stream 不会改变源对象,相反,他们原创 2021-11-21 19:55:38 · 630 阅读 · 0 评论 -
开发中如何选用集合实现类
开发中如何选用集合实现类如何选择集合实现类主要取决于业务操作特点先判断存储的类型:单例(一组对象)或 双例(一组键值对<key,value>)单例(一组对象):Collection接口允许重复:List接口不允许重复:Set接口...原创 2021-11-06 10:30:31 · 102 阅读 · 0 评论 -
老鼠出迷宫之递归回溯
1.设计思路2.创建迷宫 3.策略(下->右->上->左)4.程序package study;public class Test02 { public static void main(String[] args) { //定义二维数组 int[][] map = new int[8][7]; //把第一行与最后一行设置为1 for (int i = 0; i < 7; i++) {原创 2021-09-26 16:29:44 · 184 阅读 · 0 评论 -
ArrayList源码中创建和扩容的流程
1.选用ArrayList带参构造器进行测试代码调试之前需要先修改idea的设置,取消途中的勾选,此设置会简化结果2.测试代码//ArrayList创建和扩容的流程 //ArrayList集合底层是用数组实现存储的 ArrayList arrayList = new ArrayList(8);//创建ArrayList带参构造器,初始容量为8 for (int i = 1; i < 10; i++) {//添加10个元素进去,此时容量为8,当添加原创 2021-10-31 20:51:32 · 152 阅读 · 0 评论 -
LinkedList源码中add()和remove()方法
LinkedList底层结构(1)LinkedList底层维护了一个双向链表,链表是一个有序集合(2)LinkedList中维护了两个属性first和last,分别指向首节点和尾节点(3)节点(Node)对象里面维护了prev、next、item三个属性,prev指向前一个节点,next指向后一个节点,item存储数据。(4)LinkedList的元素的添加和删除,不是通过数组完成的,效率高add()方法(1)add()添加第一个元素(element = 1),下面是测试代码LinkedLi原创 2021-11-01 14:21:15 · 1237 阅读 · 0 评论 -
设置会话事务隔离级别读取未提交
【代码】设置会话事务隔离级别读取未提交。原创 2023-05-20 16:55:54 · 129 阅读 · 0 评论 -
自定义校验注解
【代码】自定义校验注解。原创 2023-05-10 21:39:54 · 159 阅读 · 0 评论 -
数据库查询ssl报错
数据库报ssl错误原创 2023-03-29 16:06:40 · 100 阅读 · 0 评论 -
数据库表设计规范—三范式、反范式
假如字段x属于表b,但是查询时需要表a联表b,那么可以直接将字段x添加到表a,这样可以就直接在表a中查出x信息。原创 2023-05-11 22:26:19 · 204 阅读 · 0 评论 -
配置时间格式spring:jackson:date-format:yyyy-MM-dd HH:mm:ss
【代码】配置时间格式spring:jackson:date-format:yyyy-MM-dd HH:mm:ss。原创 2023-05-23 13:22:50 · 302 阅读 · 1 评论 -
vagrant无剩余磁盘空间,无法连接Mysql
vagrant提供了将本机目录挂载到虚拟机目录下的功能,默认是将vagrant配置文件所在目录挂载到虚拟机/vagrant目录下。原创 2023-04-07 20:10:24 · 768 阅读 · 2 评论 -
为空不返回@JsonInclude(JsonInclude.Include.NON_EMPTY)
注解@JsonInclude作用:当这个字段为空时就不进行返回。原创 2023-05-14 21:10:05 · 392 阅读 · 0 评论 -
JSR303统一校验和分组校验及常用注解@NotBlank@NotEmpty 的使用
JSR303-bean校验规范原创 2023-05-08 18:51:15 · 2139 阅读 · 0 评论 -
oss上传文件流
【代码】oss上传文件流。原创 2023-05-06 15:34:10 · 213 阅读 · 0 评论 -
仓储服务-采购业务
使用feign调用远程服务时,会出现feign返回值LinkedHashMap无法转换实体类异常,因为feign使用的httpClient是用LinkedHashMap封装数据的,所有不能强转为实体类,可以直接从LinkedHashMap中取值返回即可,或者使用ObjectMapper转换类型。(1) 合并时如果未选择合并的采购单,则先新建采购单然后合并到新建的采购单。(3)根据采购单id查出采购需求,修改采购需求的状态为正在采购。(1)筛选出采购单状态为 新建或者已领取的采购单。原创 2023-05-26 11:36:31 · 888 阅读 · 0 评论 -
SpringCloud整合oss
【代码】SpringCloud整合oss。原创 2023-05-06 16:21:04 · 191 阅读 · 0 评论 -
阿里云oss-服务端签名后直传
前端拿到后台的签名后直接将图片上传到阿里云。原创 2023-05-08 15:17:32 · 172 阅读 · 0 评论 -
递归查找三级菜单以及Stream流filter()与map()的用法
(4)查出全部菜单的父id=一级菜单id,就可筛选出一级菜单的子类,然后递归查一级菜单的子类的子类,最后返回一级菜单子类。(5)升序排序,使用比较器comparator比较,传入两个参数a,比较,当ab返回1。(1)给实体类添加字段,用来封装子菜单,@TableField(exist = false)不映射数据库字段。(2)查出一级菜单,使用过滤器,筛选条件为父Id=0。(3)从一级菜单开始一级一级向下查找子菜单,原创 2023-05-14 23:09:47 · 656 阅读 · 1 评论 -
Mybatis-plus逻辑删除
TableLogic注解也可以根据数据库表中逻辑删除的值来对应设置,这张表使用show_status为逻辑删除字段,因为大部分数据的show_status都为1,而在上面的MybatisPlus配置中(1-删除,0-不删除)不适用表中数据,所以我们在设计逻辑删除字段时应该将大部分数据设置为默认不删除,所有就需要重新定义默认删除的值,默认逻辑未删除值value 设置为1,默认逻辑删除值delval设置为0。原创 2023-04-13 23:30:28 · 2592 阅读 · 0 评论 -
递归查找全部路径
List集合转换Long[]数组失败 [Ljava.lang.Object;是直接将list集合转换为Object[]初始化数组,这里是不能直接转换为Long[]的。方式1. list强转数组时直接转换为Long[]数组。方式 2. 使用Stream转换。原创 2023-05-15 11:48:27 · 263 阅读 · 0 评论 -
集合手动分页排序
【代码】集合手动分页排序。原创 2023-03-07 15:57:09 · 76 阅读 · 0 评论 -
配置gateway跨域和网关断言规则
【代码】nacos配置gateway网关遇见的问题。原创 2023-02-28 14:33:02 · 382 阅读 · 0 评论 -
linux导入导出dmp文件实现数据库迁移
如果能导出,但是最后一步报下面的错,这种情况可能是服务器磁盘空间不足。导出dmp文件出现successfully代表导出成功。可以查看磁盘空间使用率,可以清理日志或者换地址导出。:如果出现下面报错需要输入完整的数据库地址。原创 2023-02-17 16:26:19 · 1564 阅读 · 0 评论 -
spring:profiles:avtive:sit-prf切换环境启动卡住解决办法
解决办法:添加该环境的日志打印,在logback-spring.xml中添加。原创 2023-02-16 16:59:12 · 182 阅读 · 0 评论 -
关于nacos配置中心无法动态刷新配置的问题
nacos无法动态获取配置原创 2023-02-08 23:00:55 · 1140 阅读 · 0 评论 -
docker容器安装指令
docker容器安装指令原创 2022-12-19 22:19:22 · 66 阅读 · 0 评论 -
Excel大数据量下载
【代码】Excel大数据量下载。原创 2022-11-25 11:14:10 · 708 阅读 · 0 评论 -
Http调用Excel下载接口
最近做的接口迁移的项目,将项目A的所有管理台接口迁移到项目B中,因为B项目的管理台的导航菜单的数据库是单独的环境,所以就需要先把项目A的所有管理台接口迁移到新项目B中 ,然后再从拥有导航菜单环境的项目C去调用项目B迁移过来的接口。调用get请求的查询接口,直接调用下面HttpUtil.httpGet()或者HttpClient.sendGet()即可,返回的数据从json字符串转为java对象再返回到前端,post也是同样的操作。原创 2022-11-04 15:39:35 · 1239 阅读 · 0 评论 -
安全健壮性
Microsoft Windows 系统使用 “”,UNIX 系统使用 “/”,应用程序如果需要在不同的平台上运行,使用硬编码文件分隔符会导致引用程序逻辑执行错误,并有可能导致程序拒绝服务。问题2:攻击者让程序过载的bug,这种bug回去指定请求使用系统资源的数量,或持续使用系统资源的时间。File()会导致可移植性问题,因为它使用硬编码文件分隔符,不同的操作系统使用不同的分隔符。为编写可移植代码,不应使用硬编码文件分隔符,而使用语言库提供的独立于平台的API。2.数据用于动态地构造一个sql查询。原创 2022-09-16 17:28:35 · 467 阅读 · 0 评论 -
@Transactional(rollbackFor = {Exception.class}) 和 @Async(“executor“)
使用@Async注解,在默认情况下用的是SimpleAsyncTaskExecutor线程池,该线程池不是真正意义上的线程池。使用此线程池无法实现线程重用,每次调用都会新建一条线程。若系统中不断的创建线程,最终会导致系统占用内存过高,引发OutOfMemoryError错误,所以我们在使用Spring中的@Async异步框架时一定要自定义线程池,替代默认的SimpleAsyncTaskExecutor。原创 2022-08-24 10:17:09 · 1314 阅读 · 0 评论 -
组件溯源项目
组件去重、导入导出、组件分配原创 2022-08-19 15:16:07 · 162 阅读 · 0 评论 -
迭代器 remove用法
迭代器的 remove用法是删除的集合中的元素。原创 2022-08-16 09:31:19 · 1081 阅读 · 0 评论 -
分配电池片
分配电池片原创 2022-08-14 23:48:57 · 192 阅读 · 0 评论 -
安装docker时空间不足解决办法
安装docker。原创 2022-08-04 16:16:34 · 1027 阅读 · 0 评论 -
扇形统计图、折线统计图数据统计
扇形统计图、折现统计图原创 2022-08-04 16:15:44 · 193 阅读 · 0 评论 -
Excel导入导出,增删改查的实现
Excel导入导出,增删改查的实现。原创 2022-08-02 08:50:56 · 631 阅读 · 0 评论 -
Spring复习笔记
把对象交给spring容器管理,spring容器来帮我们创建对象,并管理对象的声明周期Ioc主要是控制反转和依赖注入这两个点,控制反转就是让spring控制对象,原先对象是我们自己管理,依赖注入则是当我们需要调用对象时使用注解或xml的方式让spring容器实现自动注入。如果一个类需要调用另一个类的方法,通常我们是去new另一个类的对象,如果频繁的去创建对象,不方便测试,代码即冗余耦合度也比较高,spring帮助我们省去了这些实例化对象的步骤,我们可以采用xml配置或注解声明的方式来简化这些操作(1)原创 2022-06-20 00:38:12 · 150 阅读 · 0 评论