去掉自定义异常中的堆栈跟踪信息
1 | /** |
1 | /** |
PK: 主键(Primary Key)NN: 非空(Not Null)UQ: 唯一索引(Unique Index)BIN: 二进制(Binary) 将数据储存为二进制字符串UN: 无符号的(Unsigned)ZF: 零填充的(Zero Fill) 如:INT(5)的列中,12会被填充为00012AI: 自增长的(Auto Increment)G: 生成出来的(Generated) 如:根据公式从其它列中生成的数据在我们开发过程中,最常见到的三种校对规则(collation)就是utf8mb4_general_ci、utf8mb4_unicode_ci,和utf8mb4_bin。那么这三种排序规则之间有什么区别,在开发过程中又该怎么选择?这里就简单说一下我所了解到的知识,和我的理解。
前些天在开发过程中,发现IDEA在一个@Autowired注解上打了一个警告,内容是Field injection is not recommended。多年面向Spring开发的经验告诉我,使用@Autowired注解进行依赖注入,肯定是没有问题的。但是我的代码洁癖不允许我这么不明不白的留一个警告在这里。所以,带着我的洁癖,和我的好奇心,我开始研究起了这个警告。
在处理业务数据时,偶尔会需要从一系列逗号分隔的数据中取出各个元素并去重。本文将介绍如何通过Java 8中的FlatMap简化这个操作。
在经年累月的开发中,你是不是已经对动辄数行的.setXXX()方法厌烦了呢?在这篇博文中,我将介绍一个小技巧,可以稍稍让你的代码变得美观一些。
有的小伙伴,在公司需要使用公司的Git来干活,同时自己也有些托管在GitHub等其他仓库的代码,在这种情况下会有一个烦恼,就是怎么样在多个仓库之间使用不同的配置。比如在公司仓库和个人仓库之间使用不同的身份信息,或者在公司仓库和个人仓库之间,使用不同的GPG签名。
在2.13版本之前,大概你就只能单独为每一个仓库单独设定这些信息了,但是,在2.13这个版本中,Git引入了一个名为“按条件引入”(Conditional includes)的功能。这个功能允许用户通过指定一定的条件,来使Git从不同的配置文件中取得配置项。
在使用MyBatis查询数据库时,偶尔会出现短时间高频查询的情况。或者,会被短时间高频率查询的数据需要通过另一个微服务的接口来获取。显而易见,高频率的查询数据库,或者高频率的调用微服务的接口,是会对性能产生一定影响的。
在这种情况下,或许可以考虑将相关的数据一次性全部查询出来,然后根据某一列作为key,将其存放在一个Map中,把这个Map当成一个临时的缓存。
最近项目开发时遇到了一个错误,内容是Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
经查是关联查询时两个表的排序规则(collation)不同导致的。
使用如下SQL语句即可更新一张表的字符集(character set)和排序规则(collation):
1 | -- 此处假设使用utf8字符集,以及使用utf8_unicode_ci排序规则 |
然后可以使用如下SQL查询表和列的字符集和排序规则是否修改成功:
1 | -- 查询表的信息 |