iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >MybatisPlus自带的queryWrapper实现时间倒序方式
  • 197
分享到

MybatisPlus自带的queryWrapper实现时间倒序方式

2024-04-02 19:04:59 197人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录mybatisPlus自带queryWrapper时间倒序使用queryWrapper解决字符串中含数字的排序问题造成的原因解决办法MybatisPlus自带queryWrapp

MybatisPlus自带queryWrapper时间倒序

queryWrapper.select().orderByDesc("create_time");

使用queryWrapper解决字符串中含数字的排序问题

今天遇到了oracle数据库字符串(含数字)排序问题,这里记录的是如何用MyBatis-Plus的queryWrapper条件构造器来解决的方法。

造成的原因

  • 数据库字段为varchar类型(若为Number类型则无此问题)
  • 数据库字符串排序是按照顺序一位一位比较的,按照ascII码值比较。如:2比1大,所以12会排在2前面

解决办法

先按字符串长度排序,再按字段排序

关键代码(queryWrapper条件构造器实现形式)

//利用数据库length函数获取字符串长度(这里的code是我数据库中的字段名称)
queryWrapper.orderByAsc("length(code),code");

能这样写的原因是因为mybatis-plus的orderBy里的参数值最终是拼接在sql语句的order by后面的,并不是只能设置为数据库的列名称,因此只需使orderBy方法里面的参数值符合sql中的排序规则即可实现想要的排序结果。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: MybatisPlus自带的queryWrapper实现时间倒序方式

本文链接: https://www.lsjlt.com/news/138059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作