当前位置: 首页 > backend >正文

mybatis plus (sqlserver) 根据条件来获取id最大的,或者是新增的最新的一条记录(同条件可能会有多条出现)

1、mysql的版本 limit 1

QueryWrapper<Userinfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("fid", payment.getFid());return userinfoMapper.selectOne(queryWrapper.orderByDesc("id").last("limit 1"));

只要类似以上的代码,就可以成功的,获取到fid一致的userinfo的最新的一条记录,当然这里的id是自增的。

发现sql是这样:

select fieldname from userinfo where fid=1 order by id desc limit 1

发现超级可以。

2、sqlserver版本的top 1

sqlserver中没有limit 1这种,只有top 1,类似以下的sql:

select top 1 fieldname from userinfo where fid=1 order by id desc

3、sqlserver中实现

方法一:取得id取记录

QueryWrapper<Userinfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("fid", payment.getFid());queryWrapper.select("max(id) as id");Userinfo userinfot = userinfoMapper.selectOne(queryWrapper);return userinfoMapper.selectById(userinfot.getId());

上面根据条件取得id,然后通过id来取得这条记录,转了一下。

方法二:分页取一条

QueryWrapper<Userinfo> queryWrapper2 = new QueryWrapper<>();queryWrapper2.eq("fid", payment.getFid());queryWrapper2.orderByDesc("id");Page<Userinfo> users = userinfoMapper.selectPage(new Page<>(1,1), queryWrapper2);if(users.getTotal()>0) {return users.getRecords().get(0);}return null;

上面的sql是通过分页取一条来处理的。

方法三:@Select注解 mybatis

这样就可以成功取到了一条记录,当然我们也可以直接用sql语句来编号用@Select来类似这种:

这个在mapper直接用注解的方法来处理,当然也可以是基于xml的,看个人喜欢吧。

http://www.xdnf.cn/news/6278.html

相关文章:

  • 数据 分析
  • AD 局部铺铜
  • 职坐标解析职业规划核心五步骤
  • 谷歌web第三方登录
  • 解锁数据的力量:数据治理的新篇章与未来蓝图“
  • Chrome浏览器实验性API computePressure的隐私保护机制如何绕过?
  • ZYNQ PS VDMA②
  • ElasticSearch高级功能
  • 使用matlab进行数据拟合
  • hghac8008漏洞扫描处理
  • [Java实战]Spring Boot 3整合JWT实现无状态身份认证(二十四)
  • 文章记单词 | 第73篇(六级)
  • 【AI面试秘籍】| 第9期:Transformer架构中的QKV机制深度解析:从原理到实践实现
  • Lord Of The Root: 1.0.1通关
  • 安卓system/文件夹下的哪些文件夹可以修改为别的设备的
  • 【信息系统项目管理师】第5章:信息系统工程 - 36个经典题目及详解
  • Agent Builder API - Agent Smith 扩展的后端服务(开源代码)
  • 【Java学习笔记】toString方法
  • MySQL 数据库基础
  • 右值引用的学习
  • cGAS-STING通路
  • 线程同步机制
  • GO 小游戏在线试水
  • UE中:puerts使用指南(持续更新)
  • 服务器时间发生跳变导致hghac中对应主机状态频繁切换为crash或stop
  • 从Transformer到多模态智能,剖析人工智能时代的核心引擎​​
  • Linux服务之lvs集群与dr模式部署
  • Xsens发布专为生物力学打造的全新人体模型
  • centos6.10在Macbook m芯片上使用
  • Android 设置系统默认通话应用,打不开通话界面