当前位置:网站首页>【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
边栏推荐
- The most classic 100 sentences in the world famous works
- Pytorch exercise items
- Request weather interface format, automation
- UNI-APP中条件注释 实现跨段兼容、导航跳转 和 传参、组件创建使用和生命周期函数
- Paper notes vsalm literature review "a comprehensive survey of visual slam algorithms"
- Advanced technology management - do you know the whole picture of growth?
- 表达式的动态解析和计算,Flee用起来真香
- opencv
- IE browser flash back, automatically open edge browser
- SQL implementation merges multiple rows of records into one row
猜你喜欢

YOLOV2学习与总结

有意思的鼠标指针交互探究

Zhiniu stock -- 03

SSH link remote server and local display of remote graphical interface

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

Mysql

Yolov3 learning notes

Cesium Click to obtain the longitude and latitude elevation coordinates (3D coordinates) of the model surface

The dynamic analysis and calculation of expressions are really delicious for flee

Use selenium to climb the annual box office of Yien
随机推荐
Pdf files can only print out the first page
error C2017: 非法的转义序列
Chapter 8. MapReduce production experience
Install VM tools
When PHP uses env to obtain file parameters, it gets strings
轻松上手Fluentd,结合 Rainbond 插件市场,日志收集更快捷
conda和pip的区别
Mysql database
表达式的动态解析和计算,Flee用起来真香
【C#/VB.NET】 将PDF转为SVG/Image, SVG/Image转PDF
DNS forward query:
The list of "I'm crazy about open source" was released in the first week, with 160 developers on the list
Kubesphere - build MySQL master-slave replication structure
Decision tree of machine learning
Characteristics and isolation level of database
[5g NR] UE registration process
SSH link remote server and local display of remote graphical interface
Know flex box
Scripy learning
Kubesphere - set up redis cluster