当前位置:网站首页>【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
边栏推荐
- Mysql
- Tabbar settings
- [5g NR] UE registration process
- Selenium - by changing the window size, the width, height and length of different models will be different
- Mysql database binlog log enable record
- How matlab modifies default settings
- Fluentd is easy to use. Combined with the rainbow plug-in market, log collection is faster
- Kubesphere - set up redis cluster
- Zhiniu stock project -- 05
- The most classic 100 sentences in the world famous works
猜你喜欢
Fluentd is easy to use. Combined with the rainbow plug-in market, log collection is faster
Time format record
ruoyi接口权限校验
【开源项目推荐-ColugoMum】这群本科生基于国产深度学习框架PaddlePadddle开源了零售行业解决方案
论文笔记 VSALM 文献综述《A Comprehensive Survey of Visual SLAM Algorithms》
The list of "I'm crazy about open source" was released in the first week, with 160 developers on the list
Project summary --2 (basic use of jsup)
Creating postgre enterprise database by ArcGIS
Redis cluster creation, capacity expansion and capacity reduction
JMeter performance automation test
随机推荐
Derivation of variance iteration formula
Mysql
Migrate data from Amazon aurora to tidb
C2338 Cannot format an argument. To make type T formattable provide a formatter<T> specialization:
冒泡排序的简单理解
The difference between CONDA and pip
Scripy learning
In depth analysis of kubernetes controller runtime
. Net program configuration file operation (INI, CFG, config)
Simple understanding of ThreadLocal
In depth learning
Create your own deep learning environment with CONDA
MATLAB如何修改默认设置
Page text acquisition
[system design] proximity service
Numerical method for solving optimal control problem (I) -- gradient method
第8章、MapReduce 生产经验
Request weather interface format, automation
Method of converting GPS coordinates to Baidu map coordinates
[set theory] equivalence relation (concept of equivalence relation | examples of equivalence relation | equivalence relation and closure)