字典回写就是将一些字典的实际值通过二次查询的方式在接口中把显示值赋值到对象中,避免多表联查,该工具包是通过拦截ResultSetHandler实现resultset的再次赋值
字典回写
第一步 处理插件配置
1@Bean
2public DictTextResultSetHandlerPlugin dictTextResultSetHandlerPlugin(){
3 return new DictTextResultSetHandlerPlugin();
4}
第二步 在实体类或VO中需要回写的字段上增加注解
1@Getter
2@Setter
3@Accessors(chain = true)
4public class Student {
5 private String id;
6
7 private String name;
8
9 @DictText(keyColumn = "id", textColumn = "dict_text", tableName = "sys_dict", target = "sexName")
10 private Integer sex;
11
12 @TableField(exist = false)
13 private String sexName;
14}
通过@DictText注解绑定需要回写的表和字段等属性,在数据查询完成后二次查询将显示值填充到对应字段中,避免频繁的连表查询
需要注意的是字典回写最好在分页接口或数据较少的接口中使用,字典表一定要加索引,否则性能影响较大
@DictText注解介绍
1/**
2 * 要查询的关联表的条件字段名
3 */
4String