当前位置:网站首页>【code】偶尔取值、判空、查表、验证等
【code】偶尔取值、判空、查表、验证等
2022-07-03 06:30:00 【掘金者说】
想了想还是记录一下,后续不断补充,方便后续查阅
获取List<String>
// 获取表IDs去重
List<String> tIds = list.stream()
.map(TableColumn::getTableParentId)
.distinct()
.collect(Collectors.toList());
// 获取表IDs
List<String> tIds = tables.stream()
.map(Table::getId)
.collect(Collectors.toList());
// 使用List<Map> 大小写注意
List<String> ids = params.stream()
.map(e -> e.get("id"))
.collect(Collectors.toList());
// 获取Parameter.getCheckFormat
List<CheckFormat> checkFormat = Optional.ofNullable(parameter)
.map(u -> u.getCheckFormat())
.orElse(new ArrayList<>());
// 获取最大
FieldConfig maxFieldConfig = configs.stream()
.max(Comparator.comparing(FieldConfig::getOrderId))
.orElse(null);
判断参数
// 判断:类型
if (type == null || !Arrays.asList("40", "60", "80").contains(type)) {
String msg = "选择参数类型 40.库 60.表 80.字段";
return TableUtil.getInstance().errorReturn(code, msg, msg);
}
// 判断:使用List<Map>,if(list != null && list.size() > 0) ===》》 CollectionUtils.isNotEmpty(list);
if (CollectionUtils.isEmpty(ruleList)) {
String msg = "未找到到规则";
return apiErrorReturn(500, msg, msg);
}
表查询
// 修改
LambdaUpdateWrapper<Dir> dirUpdate = Wrappers.lambdaUpdate();
dirUpdate.set(Dir::getName, source.getCnName());
dirUpdate.eq(Dir::getType, 13);
dirUpdate.eq(Dir::getCode, source.getCode());
directoryMapper.update(new SsDir(), dirUpdate);
// 查询
List<Integer> ids = params.stream().map(QuotaBO::getId).collect(Collectors.toList());
LambdaQueryWrapper<QuotaBO> queryQuota = Wrappers.lambdaQuery();
queryQuota.eq(QuotaBO::getIsDelete, 0);
queryQuota.in(QuotaBO::getId, ids);
List<QuotaBO> quotaList = quotaMapper.getList(queryQuota);
// 查询
QueryWrapper qw = new QueryWrapper<>();
qw.eq("COLUMN_NAME", columnName);
List<ColumnBO> list = colService.getListByPage(qw, pIndex, pSize);
// 修改
UpdateWrapper<ColumnBO> uw = new UpdateWrapper<>();
uw.eq("ID", column.getId());
List<ColumnBO> list = colService.getListByPage(column, uw);
数据去重
// 使用id去重处理
bloodList = bloodList.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(()
-> new TreeSet<>(Comparator.comparing(BloodBO::getId))), ArrayList::new));
验证是否存在
有数据时候就不要重复添加数据,在验证该数据是否已存在时候,需要考虑新增、修改(修改时候需要忽略本身已存在条件)
select count(1) as valid, concat('分类编号【' ,#{itemId}, '】已存在') as message from pig_item
where IS_DELETE = 0
and ITEM_ID = #{itemId}
and (ID != #{idOld} or #{idOld} is null)
<select id="checkVerifyItemNum" resultType="java.lang.Integer">
<![CDATA[ select count(1) as valid from pig_item where IS_DELETE=0 and ITEM_ID = #{itemId} ]]>
<if test="id != null">
<![CDATA[ and (ID != #{id} or #{id} is null) ]]>
</if>
</select>
<![CDATA[ 内容 ]]>这个写法好处就是大于小于就不要转义,不方便的是判断条件时候就要分开写
多表查询
多张表查询,left join下去,数据是有了,当数据量多了以后,查询性能降低.
with tmp_tab as (
select 先查询数据
),
tmp_desc as (
select 再查询数据
) select * from tmp_desc
边栏推荐
猜你喜欢

“我为开源打榜狂”第一周榜单公布,160位开发者上榜

ssh链接远程服务器 及 远程图形化界面的本地显示

Project summary --04
![[system design] proximity service](/img/4a/2e68536cbe385af1d1a591e674fbf0.png)
[system design] proximity service

【无标题】

Method of converting GPS coordinates to Baidu map coordinates

Click cesium to obtain three-dimensional coordinates (longitude, latitude and elevation)

【系统设计】邻近服务

表达式的动态解析和计算,Flee用起来真香

Zhiniu stock project -- 05
随机推荐
使用conda创建自己的深度学习环境
[LeetCode]404. 左叶子之和
Mysql database table export and import with binary
【无标题】8 简易版通讯录
Use abp Zero builds a third-party login module (I): Principles
Creating postgre enterprise database by ArcGIS
DNS forward query:
Use @data in Lombok to simplify entity class code
ruoyi接口权限校验
Chapter 8. MapReduce production experience
Decision tree of machine learning
About the difference between count (1), count (*), and count (column name)
PMP notes
Important knowledge points of redis
论文笔记 VSALM 文献综述《A Comprehensive Survey of Visual SLAM Algorithms》
Docker advanced learning (container data volume, MySQL installation, dockerfile)
Characteristics and isolation level of database
Selenium ide installation recording and local project maintenance
Difference between shortest path and minimum spanning tree
A letter to graduating college students