ULID:Universally Unique Lexicographically Sortable Identifier(通用唯一词典分类标识符)UUID:Universally Unique Identifier(通用唯一标识符) 为什么不选择UUID UUID 目前有 5 个版本: 版本1:在许多环境中是不切实际的,因为它需要访问唯一的,稳定的MAC地址,容易被攻击;版本2:将版本 1 的时间戳前四位换为 POSIX 的 UID 或 GID,问题同上;版本3:基于 MD5 哈希算法生成,生成随机分布的ID需要…

2022-10-18 0条评论 485点热度 0人点赞 admin 阅读全文

无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count 目前多数人的写法 多次Review代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下: ##### SQL写法: SELECT count(*) FROM table WHERE a = 1 AND b = 2 ##### Java写法: int nums = xxDao.countXxxxByXxx(params); if ( nums > 0 ) { /…

2022-10-17 0条评论 639点热度 0人点赞 admin 阅读全文

iView/ViewDesign中的table表格里有个render函数,可以在单元格中另外渲染组件,现在有个需求,就是渲染出来的Input输入框或者InputNumber数字输入框,需要在获取焦点的时候,自动全部全部文本,可以提高使用者输入的效率。 经过研究,可以使用on监听on-focus事件,在传入的event方法,使用event.target.select()就行了。 详见如下示例: {title: '计划培训人数', key: "planNum", width: 112, align: 'center',…

2022-10-16 0条评论 554点热度 0人点赞 admin 阅读全文

我们知道,如果要替换字符串中完全相同的内容,可以直接使用String.replace(replaceAll)来替换,如果要替换的内容是正则表达式的形式呢? 举个例子,我们在做短信模板的时候,一般有这样的: 恭喜${name}报名成功,请凭报名编号${code}到现场参加活动! 需要替换${xxx}里面的内容,可以使用正则表达式来查找符合${xxx}的内容,然后替换,这就用到了matcher.appendReplacement和matcher.appendTail了。 代码如下: public static void…

2022-10-15 0条评论 690点热度 1人点赞 admin 阅读全文

今天在使用MyBatis时候,someMapper.selectById() 或者其他CRUD时候,抛出异常: aused by: java.lang.IndexOutOfBoundsException: Index: 14, Size: 14 at java.util.ArrayList.rangeCheck(ArrayList.java:659) at java.util.ArrayList.get(ArrayList.java:435) at org.apache.ibatis.executor.result…

2022-10-14 0条评论 775点热度 0人点赞 admin 阅读全文

Java或者SpringBoot项目中,需要将Html(可以是模板引擎例如thymeleaf生成的html)转成图片或者PDF。 如果不是比较复杂的Html(例如Html里没有很多CSS3的语法,flex布局等、背景图,加载js外部css等),那么可以采用一个简单的类库:,因为只需要引入到pom.xml,几行代码就可以搞定生成图片或者PDF的问题了。 使用方法: pom.xml 增加如下依赖(使用的最新版是2.0.1,有很多地方还是显示的0.9版本,最近版本2.0.1在渲染html上要比0.9好很多): <d…

2022-10-13 0条评论 2756点热度 0人点赞 admin 阅读全文

相信很多小伙伴写程序有自己的一套工具类,或者遇到一个功能,会去网上找一些工具类,难免还会引入很多第三方类库,一个是增加了类库之间冲突的风险,另外是增大了整个包的体积。 我们现在很多时候开发框架选择的是SpringBoot,起始SpringBoot自带了很多使用的工具类,下面介绍下: 断言是一个逻辑判断,用于检查不应该发生的情况 Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启 SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查 /…

2022-10-12 0条评论 461点热度 0人点赞 admin 阅读全文

写在前面 相信不少开发者在遇到项目对数据进行批量操作的时候,都会有不少的烦恼,尤其是针对数据量极大的情况下,效率问题就直接提上了菜板。 因此,开多线程来执行批量任务是十分重要的一种批量操作思路,其实这种思路实现起来也十分简单,就拿批量更新的操作举例: 整体流程图 步骤 获取需要进行批量更新的大集合A,对大集合进行拆分操作,分成N个小集合A-1 ~ A-N 。 开启线程池,针对集合的大小进行调参,对小集合进行批量更新操作。 对流程进行控制,控制线程执行顺序。 按照指定大小拆分集合的工具类 import com.goo…

2022-10-11 0条评论 491点热度 0人点赞 admin 阅读全文

之前写过文章记录怎么在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。 经过网上搜索学习后,特此记录如何在SpringBoot项目中实现动态定时任务。 因为只是一个demo,所以只引入了需要的依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifac…

2022-10-10 0条评论 572点热度 0人点赞 admin 阅读全文

在使用Apache POI处理Excel的时候,应用部署到Linux后,遇到一个报错,如下: Caused by: java.lang.NullPointerException at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) …

2022-10-09 0条评论 800点热度 0人点赞 admin 阅读全文
1111213141556