- 博客(26)
- 收藏
- 关注
原创 HaspMap的put原理解析
public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}里面的hash方法// 作用static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}final V putVal(int hash...
2021-12-17 17:39:13
153
原创 HashMap构造函数源码分析
一、第一个构造函数public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + initialCapacity); if (initialCapacity
2021-12-17 11:27:51
110
原创 mybatis-plus中更新null数据
问题场景在使用baseMapper里面的saveOrUpdata的方法时,更新数据,当数据库对某个字段更新时,数据库已经有数据了,但是更新时的字段是已经空了,这个时候mybatisplus并不会将更新的字段置空问题解决可以在这个字段上面加上注解@TableField(fill = FieldFill.UPDATE)...
2021-12-10 15:40:43
504
原创 mysql中条件查询大小写不区分
SELECT user_id,username FROM sys_user WHERE username = 'LQ'SELECT user_id,username FROM sys_user WHERE username = 'lq'查询结果一样原因 utf8mb4_general_ci排序规则是不区分大小写的改成 utf8mb4_bin可区分大小写改成 utf8mb4_general_cs也可,但是有的公司使用的mysql版本是没有改排序的...
2021-11-22 10:37:27
600
原创 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“. SLF4J: Defaulting to no-operation (
加入依赖<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</version> <scope>test</scope></dependency>在main方法中发现还是报错<scope>test&l
2021-06-29 10:53:14
197
原创 Caused by: com.rabbitmq.client.ShutdownSignalException: connection error;
是因为在没有设置权限
2021-06-29 10:46:17
362
原创 mybatis-plus的PerformanceInterceptor无效了?整合p6spy插件
今天闲来无事,准备整合一下工具类,整合mybatis-plus时,需要加入执行的sql分析发现mybatis-plus中的PerformanceInterceptor无效了查了信息发现 3.2.0把这个功能可剔除了以下如何整合 p6spy添加依赖第一 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactI
2021-06-24 16:48:51
4894
3
按时间维度统计——该时间段没有的显示为0
在做统计功能时,按时间维度统计,按年、按月、按季度统计如果数据库在该时间中没有产生数据,则显示为零。说白了就是时间要连续展示按月 select DATE_FORMAT(date_add('2016-01-20 00:00:00', interval row MONTH),'%Y-%m')as date from ( SELECT @row := @row + 1 as row FROM (select 0 union all select 1 union all
2021-06-18 15:41:23
458
原创 mybatis中sql复用——目的结果统计值保留两位小数
背景——业务在做统计报表时,计算金额时单位用的是万元,保留两位小数u页面中的明细是这么展示的 ,最后一行还有个合计,此合计不是当前页的合计,是所有分页数据总和的合计。起初用的办法是 明细和合计是分开的sql,导致数据不能很好的对上,这不满足客户的要求。于是乎,在不分页的前提下,我们通过明细来计算合计的数据->这么个写法主要是为了减少代码的冗余具体办法是<sql id="getStatisticsSummarizeDetail" > <!--明细的sql--><
2021-06-18 14:33:47
780
原创 Mybatis-plus中or的使用方法
queryWrapper.eq("escaper_type", escaperType); queryWrapper.eq("order_state", OrderStateEnum.WARNED.getCode()); queryWrapper.eq("noticeend_date", DateFormatUtils.format(new Date(), "yyyy-MM-dd")); queryWrapper.and(wrapper -> wr...
2021-04-21 10:28:11
21432
原创 定时任务Cron表达式表达的意思
代表如何时间,比如:1* 表示每天凌晨1点执行。/代表每隔多久执行一次,比如:*/5 **** 表示每隔5分钟执行一次。,代表支持多个,比如:10 7,9,12 *** 表示在每天的7、9、12点10分各执行一次。-代表支持一个范围,比如:10 7-9 *** 表示在每天的7、8、9点10分各执行一次...
2021-04-12 09:59:20
1353
原创 单元测试注意点
1、Controller接口测试在使用MockMvc的模拟接口请求时,在项目头部要配置上注解@AutoConfigureMockMvc否则报错org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.test.web.servlet.MockMvc' available: expected at least 1 bean which qu
2021-02-19 15:04:57
207
原创 数据库连接池需要配置的最大连接数
在项目中需要配置的最大连接数,设置成五十,不设置的默认连接数就是10#连接池中允许的最大连接数。缺省值:10;推荐的公式:((core_count * 2) + effective_spindle_count) -->spring.datasource.hikari.maximum-pool-size=50#最小空闲连接,默认值10,小于0或大于maximum-pool-size,都会重置为maximum-pool-sizespring.datasource.hikari.minimum-id
2021-01-08 17:05:42
6483
1
原创 开发想法进阶历程。。
这篇文章只是简单的做个总结,没有代码。。。做导出的功能的开发方法转变1、第一次做导出,遇到导出的某个字段是字典值,在for循环里每循环一次就查询一次数据库后面代码review了,怎么能在for循环里一直查询数据库,这是多么影响性能的事情啊2、第二次导出某个字段的字典值,先把字典中的满足条件的字典值找出来,根据字典的value值在一个一个的进行匹配,没有一直访问数据库了,只访问了一次。感觉经历了第二次我已经代码优化了,但是看了一位大佬的写法,真的学到了3、大佬先根据条件查出自己需要的字典值,在放到
2021-01-04 16:16:11
91
1
原创 itext5中首行出现标点符号和页脚页码显示的解决方案
做项目中需要动态的生成pdf文档,使用的是java代码生成的方法,在这过程中,发现了标点符号出现在首行的问题,和页码没有显示的问题,我把这两个问题放在同一个类里面解决了。一、标点符号出现在首行的问题1. 第一步写一个该类实现SplitCharacterimport com.itextpdf.awt.AsianFontMapper;import com.itextpdf.text.*;import com.itextpdf.text.pdf.*;import java.io.IOExcepti
2021-01-04 14:04:42
1207
2
原创 YYYY-MM-dd的时间格式你写过吗?
YYYY-MM-dd格式熟悉?今早看了一点文章,关于时间格式化的问题,我们在开发的过程中经常需要将日期进行格式化,常见的形式是 2020-12-31这种格式的 SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");但是有人不小心写成这样了System.out.println("YYYY-MM-dd = " + df1.format(c.getTime()));这么写会出现什么问题呢?SimpleDateFormat df1 = n
2020-12-31 11:02:00
1172
原创 二维数组和稀疏数组的转变
作为一个刚毕业的应届生,对于算法的学习很少,开始学习算法了这是学习算法的第一课,将二维数组转存为稀疏数组,再存储到文件中,从文件中读取文件,将稀疏数组再转变为二维数组 以下是算法代码!package arrary;import java.io.*;public class xiShuArray { public static void main(String [] args) throws IOException { int [][]spaceArray = new .
2020-11-12 19:11:23
134
原创 一键生成mysql数据库表文档
一个项目里面的表有很多,在数据库中查表时,要一直ctrl+c和ctrl+v无意中刷到一篇文章,教如何一键生成mysql数据库表文档,下面是我自己在使用时的总结。原文链接是:比较详细的说法第一步:在配置文件上配置数据源spring.datasource.url=jdbc:mysql://localhost:3306/fire?serverTimezone=UTCspring.datasource.username=rootspring.datasource.password=rootspr
2020-08-28 10:03:34
1485
原创 安卓一键退出APP
安卓一键退出App1、安卓退出程序有几种方法首先要实现两个步骤退出当前所有的activity结束当前APP的进程2、怎么退出所有的Activity百度找了很多的资源,网上使用的方法有很多中,我使用的是每当Activity创建的时候,都会进入一个工具栈内,进行存储下面就来介绍怎么使用步骤一:所有的Activity都要继承一个BaseActivity(名字自己取啦)步骤二:写一个工具类,来管理Activity工具类代码:public class ScreenManagerUtil
2020-08-26 11:30:47
1695
原创 Lock 接口与 synchronized 关键字的区别
1、lock锁在 jdk1.5 之后,并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能,Lock 接口提供了与 synchronized关键字类似的同步功能,但需要在使用时手动获取锁和释放锁。2、Lock 接口与 synchronized 关键字的区别Lock 接口可以尝试非阻塞地获取锁 当前线程尝试获取锁。如果这一时刻锁没有被其他线程获取到,则成功获取并持有锁。 Lock接口能被中断地获取锁 与 synchronized不同,获取到锁的线程能够响应中断,当获取到的锁的线程被
2020-06-17 22:08:03
67
原创 Mybatis中#与$区别
第一种情况没有区别select * from user where name = #{name};select * from user where name = ${name};但是 #{} 和 ${} 在预编译中的处理是不一样的。#{} 在预处理时,会把参数部分用一个占位符 ? 代替,变成如下的 sql 语句:select * from user where name = ?;而 ${} 则只是简单的字符串替换,在动态解析阶段,该 sql 语句会被解析成select * from user
2020-05-30 15:35:13
119
原创 SQL注入问题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入哇欢迎使用Markdown编辑器的的你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何
2020-05-30 14:38:45
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人