为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:V8
【操作系统】:win
【CPU】:
【问题描述】*:用java引入mybatisplus构建LambdaQueryWrapper或者LambdaUpdateWrapper对语句进行排序并获取最后一条的操作,经常会出现语法问题,请问现在达梦对于排序和获取一条数据的标准语法是什么样的,有没有详细的文档参考;
语句示例:List<HomeSignalTime> homeSignalTimes = homeSignalTimeMapper.selectList(
new LambdaQueryWrapper<HomeSignalTime>()
.eq(HomeSignalTime::getBlowingNo, treatNo)
.orderByDesc(HomeSignalTime::getInStationTime)
.last("LIMIT 1")
);
LambdaUpdateWrapper<HomeSignalTime> updateData = new LambdaUpdateWrapper<HomeSignalTime>()
.eq(HomeSignalTime::getBlowingNo, treatNo)
.orderByDesc(HomeSignalTime::getInStationTime)
.last("ROWS 1") // 限制只更新第一行
.set(HomeSignalTime::getOutStationTime, LocalDateTime.now());
homeSignalTimeMapper.update(null, updateData)

参考达梦官方文档:《DM8_SQL语言使用手册》,更新排序后的第一条记录: updateData = new LambdaUpdateWrapper()
LambdaUpdateWrapper
.eq(HomeSignalTime::getBlowingNo, treatNo)
.orderByDesc(HomeSignalTime::getInStationTime)
.last("LIMIT 1")
.set(HomeSignalTime::getOutStationTime, LocalDateTime.now());
homeSignalTimeMapper.update(null, updateData);