摘要:1.背景 项目中遇到这样的情况,编辑的时候需要修改发布状态为未发布,但是如果不做控制的话,内容没发生变化,点了编辑,仍然修改了状态。因此,需要对前端提交的编辑对象和数据库中的对象进行对比,如果没变,就直接返回“内容未发生改变”。 2.代码 MD5加密后的长度是32位,对同一个内容每次加密后的结果是相
阅读全文
摘要:工具类代码 import java.math.BigDecimal; import java.text.DecimalFormat; /** * 金融常用工具类 */ public class NumFormatUtil { /** * 加入千分位,保留两位小数,自动补零,#-是否是数字,不存在显示
阅读全文
摘要:tk-mybatis的使用教程 1.引入依赖 <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </depen
阅读全文
摘要:前言: StringJoiner是Java8新出的一个类,用于构造由分隔符分隔的字符序列,并可选择性地从提供的前缀开始和以提供的后缀结尾。省的我们开发人员再次通过StringBuffer或者StingBuilder拼接。 用法示例: StringJoiner sj = new StringJoine
阅读全文
摘要:1、导入maven坐标: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency> 2、StringUt
阅读全文
摘要:示例代码: //首字母转小写 public static String toLowerCaseFirstOne(String s){ if(Character.isLowerCase(s.charAt(0))) return s; else return (new StringBuilder()).
阅读全文
摘要:对象比较器 public class LogUtils<T> { /** * 对象比较器 * 比较结果eg:1、字段名称loginName,旧值:liu,新值:gu;2、字段名称address,旧值:hunan,新值:neimenggu * @param oldBean * @param newBe
阅读全文
摘要:1. 分布式ID生成解决方案 为什么要生成唯一id: 因为商品id在全局需要唯一, 如果使用数据库自增主键, 那么数据库可以保证单个数据库中这个id是唯一的, 但是如果是数据库集群情况, 不能保证, id全局唯一. 1.1 分布式ID生成解决方案 1.1.1 UUID 常见的方式。可以利用数据库也可
阅读全文
摘要:1.加密算法 加密算法种类有: 1.1.可逆加密算法 解释: 加密后, 密文可以反向解密得到密码原文. 1.1.1. 对称加密 【文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥】 解释: 在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊的加密算法处理后,使其变成复杂的加密密文发送
阅读全文
摘要:BCrypt密码加密 BCrypt快速入门 在用户模块,对于用户密码的保护,通常都会进行加密。我们通常对密码进行加密,然后存放在数据库中,在用户进行登录的时候,将其输入的密码进行加密然后与数据库中存放的密文进行比较,以验证用户密码是否正确。 目前,MD5和BCrypt比较流行。相对来说,BCrypt
阅读全文