自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 踩坑系列——mysql数据库字段类型为tinyint输入字符串条件查询无效

mysql数据库字段类型为tinyint输入字符串条件查询无效,MySQL会尝试将这个字符串转换为整数来进行比较,结果可能非预期

2024-02-02 08:00:00 509

原创 踩坑系列——记录一次SQL优化实战

记录一次慢sql优化过程

2024-01-15 11:02:33 414

原创 idea设置某个文件修改后所在父文件夹变蓝色

idea设置文件修改后所在文件夹都变蓝色的方法

2023-10-16 20:30:00 421

原创 踩坑系列——PageHelper分页参数未清除导致其他查询报错

踩坑PageHelper分页查询使用不当导致其他无需分页的查询被加上了分页参数报错

2023-09-04 08:00:00 592

原创 高并发场景加锁方式及存在的问题

在多线程高并发场景下,为了保证共享资源的正确性,通常会采用加锁的方式。关于加锁以及一些相关的问题,这里根据个人学习了解的做个汇总。

2023-08-28 08:15:00 655

原创 抓包工具Charles的安装及代理设置(Windows浏览器代理、安卓代理)

Windows浏览器和手机端charles代理设置

2023-08-24 18:51:37 2004

原创 如何保证数据库的数据和Redis的数据一致性

实际项目中有可能会使用Redis缓存数据,那么在更新数据的时候如何保证数据库中的数据和Redis缓存的数据一致,缓存同步策略的选择是一个很重要的问题。网上有各种说法,大概总结有以下几种,看看每种方案是否可行以及存在的问题和适用场景。

2023-08-14 08:30:00 880

原创 聊聊幂等的几种实现方案

什么是幂等?实现幂等的几种实现方式大概总结以下几点:

2023-08-07 09:00:00 131

原创 Spring中的全局异常处理

2、@ExceptionHandler(Throwable.class),因为Throwable是所有异常的父类,这里配置Throwable来拦截所有的异常,也可以指定其他异常类型,如@ExceptionHandler(IllegalArgumentException.class),则此方法处理IllegalArgumentException 类型的异常,如果参数为空,默认方法参数列表中列出的任何异常。1、@ControllerAdvice,没有配置具体的拦截规则,默认拦截处理所有的controller。

2023-08-06 18:30:00 665

原创 通过HandlerMethodArgumentResolver实现统一添加接口入参参数

自定义方法参数解析器实现接口入参统一添加其他入参信息

2023-08-05 18:19:22 244

原创 导出excel动态设置表头

导出excel动态设置表头

2023-08-03 12:55:06 458

原创 通过WEB页面上传文件并调用第三方feign接口处理上传实现

在A应用里面提供web接口给前端接收上传的文件,然后A应用再通过feign接口调用B应用,将文件进行传输,B应用真正处理文件上传到服务器,同时上传文件时除了文件参数还有其他额外的参数。(1)feign接口多个参数必须加上consumes = MediaType.MULTIPART_FORM_DATA_VALUE,而且对应的file要用@RequestPart。(2)@RequestPart(“file”),这里的“file”定义接口调用方和提供方必须一致。(3)feign实现文件上传还需要引入依赖。

2023-06-29 08:30:00 341

原创 StringBuilder的底层实现原理

为什么动态拼接字符串的时候推荐使用StringBuilder?它的底层是如何实现的可修改?

2022-12-04 16:15:46 1256 1

原创 Class.forName和ClassLoader.loadClass的区别

在Java中,类加载器把一个类装入Java虚拟机中,要经过三步来完成:加载、连接和初始化,其中连接又分为验证、准备和解析三个阶段。加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段可以在初始化阶段之后发生,也称为动态绑定或晚期绑定。加载:查找和导入类或接口的二进制数据;连接:又可以分成校验、准备和解析三步,其中解析步骤是可以选择的;验证:检查导入类或接口的二进制数据的正确性;准备:给类的静态变量分配并初始化存储空间;解析:将符号引用转成直接引用;

2022-10-07 09:30:00 896

原创 Spring中一些常用的扩展点

Spring中的一些扩展点总结:初始化时处理事情、自定义拦截器、自定义全局异常处理、自定义对象作用域等等

2022-10-05 00:15:11 404

原创 在Spring项目启动时处理事情的几种实现方式

在Spring里面有一套完整的事件处理机制,容器启动过程中各节点会有对应的事件,如果要在初始化时做一些事情,可以实现ApplicationListener接口接收相应的事件,实现onApplicationEvent方法,在容器将所有的 Bean 都初始化完成之后,就会执行该方法。stop(Runnable):容器关闭后,spring 容器发现当前对象实现了 SmartLifecycle,就调用 stop(Runnable), 如果只是实现了 Lifecycle,就调用 stop()。

2022-08-21 22:21:58 557

原创 postman将接口返回结果生成csv文件到本地

postman中将接口返回结果生成csv文件或json文件到本地以供循环调用

2022-07-26 09:45:00 8791 5

原创 postman将接口返回结果生成json文件到本地

postman中将接口返回数据生成json文件

2022-07-26 09:45:00 5404 2

原创 JDK动态代理和CGLIB动态代理

在SpringAOP中基于动态代理实现功能的增强,也就是动态的生成代理类,在代理类中织入增强的逻辑然后调用目标对象的方法。动态代理中用的比较多的两种:JDK动态代理、CGLIB动态代理。JDK动态代理使用JDK的java.lang.reflect.Proxy类的newProxyInstance方法实现的代理。用一个测试接口看下具体实现:public interface JdkProxyDemoService { void queryTrs();}@Servicepublic

2022-05-30 10:00:00 7804

原创 postman循环调用同一个接口

最近遇到这样一个场景:页面取消单据只支持单个单据,但是现在有一批单据需要取消,直接执行sql更新单据状态需要同时更新关联的所有上下游单据,太麻烦了,而使用postman可以实现循环调用接口来模拟页面调用操作批量单据。操作如下:1. Collections里面新建一个collection,如【测试循环调用接口】2. collection中添加需要调用的接口,如【取消单个订单接口】。注意这个接口里面的请求参数需要写成变量形式的{{}},变量名随便起,我这里变量名分别为id,reason{ “id”:“

2022-05-13 14:43:25 10540 4

原创 踩坑系列—mysql查询大小写及末尾空格问题

mysql查询未区分大小写问题、末尾空格问题

2022-03-22 14:39:15 1280

原创 mybatis指定数据源新增查询数据

近期遇到特殊场景需要指定数据源进行数据新增查询操作。代码如下:/** * 数据源配置 * * @author lyc * @date 2022/03/10 */@Componentpublic class TempDbSource { //数据库连接相关配置 说明:项目中使用的Druid数据源所以需要这些配置信息 @Value("${lyc.datasource.url}") private String url; @Value("${lyc.datasource

2022-03-11 00:15:51 2815

原创 删除excel中复制网页带过来的下拉框、复选框、单选框

复制网页表格时将输入框和下拉框都带过来了,删除没有用。解决办法2007版的excel操作步骤:开发工具——>设计模式——>选中要删除的下拉框——>delete复选框、单选框是一样的操作没有“开发工具”这个选项卡的需要先添加:文件——>选项——>自定义功能区——>勾选开发工具(在主选项卡下面)——>确定...

2021-09-01 19:45:16 8123 1

原创 java8之lambda表达式的23种使用总结

package com.lyc.collections;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.io.Serializable;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Arrays;impo

2021-08-12 23:26:05 240

原创 踩坑系列—mybatis查询报错java.lang.IndexOutOfBoundsException

sql单独执行正确,但是mybatis查询报错,部分错误信息如下:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:###Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 6, Size: 6###The error may

2021-06-22 20:22:36 5138 1

原创 IntelliJ IDEA编译报错— Error:java: 无效的目标发行版: 9

导入外部项目,测试lambda表达式编译报错:解决:File—>Settings—>Build,Execution,Deployment—>Compiler—>Java Compiler—>Target bytecode version改成8

2021-05-27 15:49:04 247

原创 IntelliJ IDEA编译报错— Error:java: 无效的源发行版: 9

导入外部项目,测试lambd表达式运行报错:解决:(1)File—>Project Structure—>Project—>Project language level改成8(2)File—>Project Structure—>Project—>Modules—>sources改成8

2021-05-27 15:43:49 96

原创 字符串特殊字符全角半角转换

String sourceFileName = "\\/:*?\"<>|.你好!"; System.out.println("source value=====>" + sourceFileName); //字符串转全角 String tmp = ""; for (int i = 0; i < sourceFileName.length(); i++) { if (sourceFileName.charAt(i) == 32) { .

2021-05-11 19:47:37 305

原创 踩坑系列—ORA-00932: 数据类型不一致

数据库为Oracle,拼接的sql使用hibernate查询的时候报错:java.sql.SQLException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY部分代码如下:String sql =“select * from table where whId= :whId”;SQLQuery query = createSQLQuery(sql);query.setParameter(“whId”, queryParam.getWhId());quer

2021-05-11 19:37:37 4029

原创 踩坑系列—SqlServer批量新增BigDecimal精度问题

场景:SqlServer数据库表A有个字段column1类型为decimal(12,5),javaBean对应的BigDecimal,批量新增数据。执行insert前打印了数据,column1对应的值都是正常的,但是执行insert后,表中column1的值有些正确有些不正确。分析:因为一开始只是发现了个别数据应该是2位小数结果被四舍五入保留了1位小数,就以为是哪里出了问题被统一设置了保留1位小数,但是看了代码和数据库精度都没有特殊设置,而且打印出的数据也是正常的,肯定是在新增数据库这一步出了问题。

2020-09-09 19:22:37 1834

原创 mysql几个常用操作汇总

工作中mysql的几个常用操作汇总,做个备份。1、增加一列ALTER table tableName add column columnName varchar(10) DEFAULT 0 COMMENT ‘备注1’;2、增加多列(同一个表增加多列)ALTER table tableName add column columnName varchar(10) DEFAULT 0 COMME...

2020-03-10 22:16:55 117

原创 自定义注解利用反射记录日志

场景:项目中有一个供应商模块,包含供应商的基础信息、供应商资质等,字段比较多,其中有些信息比较重要,如果修改了需要记录修改日志(如哪个信息从什么改为什么),同时还需要重新提交,而有些信息修改了值需要记下日志,并不需要重新审核,还有一些无关紧要的信息修改了无需记录日志,也不需要审核最开始项目中记录日志只针对三四个关键字段,比较简单,直接用待更新的base获取指定字段值与数据库中这个字段的原始值比...

2019-11-16 00:30:23 668

原创 踩坑系列--mysql查询错误

mysql多表关联查询报了下面的错误:Column ‘merchant_code’ in where clause is ambiguous这是因为关联查询的多个表都有同一个字段名,需要加上表限定如:select a.name from table a,table b where a.ref_id=b.id and b.name=‘XXX’...

2019-10-11 14:16:34 194

原创 Python课程学习——元组

元组和列表类似,同一个元组中可以没有数据,也可以有多种数据区别:(1)定义方式不一样,列表使用[],元组使用()(2)元组中的元素不能改变,一旦创建就不能再对其中的元素进行增、删、改操作,只能访问注意:(1)如果元组只有一个元素,那么这个元素后面要加逗号,如tuple2,否则将被认为是一个基本数据类型而不是元组(2)创建元组可以没有括号,元素之间用逗号隔开#1、创建元组 同一个元组...

2019-09-26 18:21:40 179

原创 Python课程学习笔记——列表操作

#1、创建列表同一个列表中可以存放任意基本数据类型a=0.13list1=[];list2=[1,1.1,‘1.1.2’,1+a];list3=[1,2,3,4];list4=[“a”,“b”,“c”,“d”];#2、通过索引下标访问列表元素一次访问一个元素print(“list2[2]:”,list2[2]);print(“list3[2]:”,list3[2]);prin...

2019-09-26 16:52:21 409

原创 Python课程学习笔记——字符串操作

str1 = “Hello,world!”#1、访问字符串中的单个字符或者子串print(‘1.1) \t str1:’,str1)print(‘1.2) \t str1[0]:’,str1[0])print(‘1.3) \t str1[0:4]:’,str1[0:5])print(‘1.4) \t str1[5:9]:’,str1[6:11])#包含开头不包含结束##########...

2019-09-26 15:55:12 535

原创 踩坑系列——mysql查询使用group_concat()结果被截断问题

背景:有这样一个数据表,存放缺货任务,缺货任务有处理状态(如待反馈,已反馈),而已反馈处理状态又分为多个处理进度(如谈判中、指定渠道、无货),每一条缺货任务记录就是一个产品,而产品对应的有类目属性,现在需要统计每个分类,各个处理状态的条数,以及...

2019-04-25 15:49:57 3981 2

原创 Python课程学习笔记2—eclipse设置python文件编码

昨天的环境搭建后,创建了第一个项目HelloWorld,但是运行报了错,如下:网上查资料,这是编码格式出现了问题。解决方案1:在代码首行加上: # -- coding: utf-8 --解决的。或者加# coding=UTF-8也可以。注意:一定是文件的第一行。期间我把# -*- coding: UTF-8 -*放在文件头的版权注释信息下面还是一样的报错,放在文件第一行才可以。但是这...

2019-02-20 19:11:37 175

原创 Python课程学习笔记1—环境搭建

1. 安装eclipseeclipse官网:https://www.eclipse.org/downloads/packages/ 下载即可。学习的课程选用的版本是这个:下载完后,解压eclipse压缩文件,window直接双击eclipse.exe文件即可。在 Mac OS 上则有所不同,需要双击 .dmg 文件安装。在第一次运行时,会要求输入工作路径,可以自定义也可以接受默认路径。如...

2019-02-20 18:48:34 216

原创 踩坑系列—mybatis查询没有数据时返回的list是null还是空集合?

场景:根据多个条件查询,返回list集合数据代码:// 第1步:根据页面多个条件查询List&amp;lt;Base&amp;gt; list = userDao.queryOrders(queryParams);if(null == list) return null;//第2步:有数据再追加其他信息List&amp;lt;Long&amp;gt; ids = new ArrayList&amp;lt;&amp;gt;(l...

2019-02-19 15:50:52 57720 3

空空如也

空空如也

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

TA关注的人

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