首页 > 其他分享 >mybatis-plus中last和orderBy的连用的使用顺序

mybatis-plus中last和orderBy的连用的使用顺序

时间:2024-07-07 17:56:07浏览次数:13  
标签:orderBy 调用 last 自定义 TbUser plus SQL

1. mybatis-plus中last和orderBy的连用的使用顺序

在MyBatis-Plus中,last 方法用于在构建查询时添加自定义的SQL片段,
而 orderBy 方法用于指定排序规则。当你想要结合使用这两个方法时,
可以先调用 orderBy 指定排序规则,然后调用 last 添加自定义的SQL片段。
   @Autowired
    TbUserService tbUserService;
    @ApiOperation("MP中orerby和last的联合使用")
    @PostMapping("/mplastOrdertest")
    public TbUser MP_OrderBy_Last_Tests() {
//        mybatis-plus中last和orderBy的连用的使用顺序
//        在MyBatis-Plus中,last 方法用于在构建查询时添加自定义的SQL片段,
//       而 orderBy 方法用于指定排序规则。当你想要结合使用这两个方法时,
//        可以先调用 orderBy 指定排序规则,然后调用 last 添加自定义的SQL片段。
        LambdaQueryWrapper<TbUser> w = new LambdaQueryWrapper<>();
//        w.like(TbUser::getPassword, "12345");
        w.orderByDesc(TbUser::getPassword);
        w.last("limit 1");
        TbUser one = tbUserService.getOne(w);
        return one;
    }
执行sql的打印:
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@39b7a9b7] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@e604713] will not be managed by Spring
==>  Preparing: SELECT password,phone,username FROM tb_user ORDER BY password DESC limit 1
==> Parameters: 
<==    Columns: password, phone, username
<==        Row: 9, 13660775070, dhq2
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@39b7a9b7]
2.Mybatis-plus中 last 方法定义
last(String lastSql)
last(boolean condition, String lastSql)

参数说明:

lastSql:要追加到 SQL 后面的 SQL 语句

condition:用于指定当前这个条件是否有效;如果为 true,则应用当前条件;如果为 false,则忽略当前条件。

注意事项:
只能调用一次,多次调用以最后一次为准 有sql注入的风险,请谨慎使用

2 示例
一般,last跟limit一起出现的概率比较大:

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.last("limit 1,10");

标签:orderBy,调用,last,自定义,TbUser,plus,SQL
From: https://blog.csdn.net/m0_57310426/article/details/140249632

相关文章

  • MyBatisPlus
    目录引入MybatisPlus的起步依赖1、引入MybatisPlus依赖,代替Mybatis依赖2.定义Mapper常见注解@TableName:用来指定表名@Tableld:用来指定表中的主键字段信息@TableField:用来指定表中的普通字段信息 使用@TableField的常见场景:成员变量名与数据库字段名不一致​编......
  • Vite按需导入element-plus组件和icon
    Vue3-Vite项目中使用element-plus,按需导入element-plus组件和el-icon,以及自动导入Vue相关函数。如果你对打包后的文件大小不是很在乎,那么使用完整导入会更方便。配置也更加简单,可以直接参考element-plus的官网。安装依赖npmielement-plus@element-plus/icons-vuenpmiunpl......
  • springboot整合ElasticSearch
    RestClient依赖,此为java的客户端,从来交互elasticsearch<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></dependency>因为SpringBoot默认的ES版本是7.17.10,所以我们需要......
  • MyBatisPlus
    1特点mybatis-plus是在mybatis基础上进行二次封装的一套orm框架,对mybatis只做增强不做改变,不会对项目中原生mybatis代码产生任何影响,完全兼容mybatis;优点:mybatis-plus只需要做简单的配置,即可快速进行单表CRUD操作,无需编写sql语句;mybatis-plus提供了内置插件,提供分页,逻辑......
  • 解决Mybatisplus中没有Db类静态工具的方案--提高版本
    方案:将两个的版本都提高即可解决Mybatis—plus的依赖文件<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version></dependency>&......
  • 百日筑基第十二天-入门Elasticsearch
    百日筑基第十二天-入门ElasticsearchElasticsearch是什么Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎。安装Elasticsearch下载:https://www.elastic.co/cn/downloads/elasticsearchElasticsearch是免安装的,只需要把zip包解压就可以了。1)bi......
  • Elasticsearch数据迁移工具之ESM
    Elasticsearch数据迁移工具之ESMESM版本:0.5.0上传esm的tar包并解压查看一下帮助文档并确认安装成功ESM各个参数用法简介在使用Elasticsearch的时候不可避免的会涉及到集群的升级或者是业务的迁移等场景,此时就需要对数据进行迁移,es数据迁移的工具有很多比如reindex、esm、elas......
  • mybatis-plus分表
    Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性。但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存。读取磁盘的次数变多,而磁盘的每次读取对性能都有很大的影响。这时一个简单可行的方案就是分表(当然土豪也......
  • ElasticSearch入门教程(保姆级)
    目录一、引言1.1海量数据1.2全文检索1.3高亮显示二、ES概述2.1ES的介绍2.2ES的由来2.3ES和Solr2.4倒排索引三、ElasticSearch安装3.1安装ES&Kibana3.2安装IK分词器四、ElasticSearch基本操作4.1ES的结构4.1.1索引Index,分片和备份4.1.2类型Type......
  • MyBatis-Plus-实用的功能自动填充字段
    前言:java项目用到了mybatis-plus,在一些类里面需要在更新时候,统一设置,修改人,修改ID,修改时间。新增时候设置创建人,创建时间等基础类:@DatapublicabstractclassBaseModelimplementsSerializable{/***逻辑删除*/@TableField(value="is_delete",......