Java QueryWrapper groupBy自定义字段,以及List<Map>转List<Entity>

Java queryWrapper groupby自定义字段

java 复制代码
String sql = "data_id,(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-status') status," +
 "(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-duty-person') dutyPerson," +
"(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-tag') tag," +
"(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-level') level," +
"(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-verno') verNo";
queryWrapper.select(sql);
queryWrapper.groupBy("data_id"); // 根据group字段进行分组

List<Map>转List<Entity>

java 复制代码
List<TestItemModel> newList = JSON.parseObject(JSON.toJSONString(resultList), new TypeReference<List<TestItemModel>>() {});

连在一起看

java 复制代码
QueryWrapper<LzHtml> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("file_id", filter.getFileId());
queryWrapper.in("data_id", datas);
 String sql = "data_id,(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-status') status," +
 "(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-duty-person') dutyPerson," +
 "(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-tag') tag," +
 "(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-level') level," +
 "(select value from lz_html a where a.data_id = lz_html.data_id and class_name='test-item-verno') verNo";
queryWrapper.select(sql);
queryWrapper.groupBy("data_id"); // 根据group字段进行分组
List<Map<String, Object>> resultList = lzHtmlService.listMaps(queryWrapper);
//List<Map>转List<Entity>
List<TestItemModel> newList = JSON.parseObject(JSON.toJSONString(resultList), new TypeReference<List<TestItemModel>>() {});
相关推荐
一叶飘零_sweeeet1 小时前
从繁琐到优雅:Java Lambda 表达式全解析与实战指南
java·lambda·java8
艾伦~耶格尔1 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
一只叫煤球的猫2 小时前
🕰 一个案例带你彻底搞懂延迟双删
java·后端·面试
最初的↘那颗心2 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
JH30733 小时前
Maven的三种项目打包方式——pom,jar,war的区别
java·maven·jar
带刺的坐椅3 小时前
轻量级流程编排框架,Solon Flow v3.5.0 发布
java·solon·workflow·flow·solon-flow
David爱编程4 小时前
线程调度策略详解:时间片轮转 vs 优先级机制,面试常考!
java·后端
阿冲Runner5 小时前
创建一个生产可用的线程池
java·后端
写bug写bug5 小时前
你真的会用枚举吗
java·后端·设计模式
喵手5 小时前
如何利用Java的Stream API提高代码的简洁度和效率?
java·后端·java ee