在我们普通的应用中,如果我们要定制一个类对象的Json输出的话,我们可以轻松的通过Jackson提供的注解如:“@JsonProperties”等注解在类上轻松实现对Json输出的定制。 但也存在着这样的Java类对象的源码不受控制的情况: 1、Java类在第三方的类库中,你无法修改; 2、不想修改已有的类的代码,因当前业务和已有业务在不同的模块中。 Jackson为我们mixin来解决这个问题,在不修改已有的Java类库的情况下,定制Json的输出。Spring Boot 2.7为我们提供了“@JsonMixin…

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

例如班级表(Clazz)-和学生表(Student)的关系是一对多的关系,我们希望在加载一个班级的时候,能自动加载这个班级下的学生列表。 Java实体类如下(学生实体类省略): @TableName("t_class") public class Clazz implements Serializable { @TableId private Long id; private Date createDate;// private Date updateDate; private String name;//班级名称…

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

在使用ApachePOI做Excel导出的时候,如果遇到日期类型的单元格内容,我们不希望简单把单元格内容赋值成String文本,而是希望给单元格复制成Excel能认得的Date日期类型,以便在Excel中做一些计算或者统计。 如图代码很简单: Cell cell = row.createCell(i); Date date = new Date(); // 实际的日期从业务中来 cell.setCellValue(date); 不过生成了Excel后,就变成这样了(可以看到新建日期和更新日期里的内容都变成小数了):…

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

例如这样的场景:学生和班级是多对一的关系,我们在查询学生(Student)的时候,(t_student表有一个clazz_id会对应到t_clazz表的ID),希望自动带出这个学生所属的班级(Clazz) 多方(Student)的Mapper.xml: 注意这里使用了association来表明Student下面的有对应一的属性:clazz(这个学生所属班级) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//my…

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

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条评论 371点热度 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条评论 509点热度 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条评论 362点热度 0人点赞 admin 阅读全文

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

2022-10-15 0条评论 521点热度 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条评论 592点热度 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条评论 2081点热度 0人点赞 admin 阅读全文
1101112131455