最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MybatisPlus較全常用復(fù)雜查詢的示例(limit、orderby、groupby、having、like...)

 更新時(shí)間:2025年12月10日 10:03:20   作者:愛(ài)吃土豆的馬鈴薯?????????  
本文主要介紹了MybatisPlus較全常用復(fù)雜查詢的示例,包括limit、orderby、groupby、having、like等,具有一定的參考價(jià)值,感興趣的可以了解一下

MyBatis-Plus 是一個(gè) MyBatis 的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。以下是 MyBatis-Plus 中常用復(fù)雜查詢(如 LIMIT、ORDER BY、GROUP BY、HAVING、LIKE 等)的引例:

1. 環(huán)境準(zhǔn)備

首先,確保你已經(jīng)在項(xiàng)目中添加了 MyBatis-Plus 的依賴(lài)。以 Maven 為例:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

2. 實(shí)體類(lèi)和 Mapper 接口

假設(shè)我們有一個(gè) User 實(shí)體類(lèi)和對(duì)應(yīng)的 UserMapper 接口:

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
 
@Data
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
    private String email;
}
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
 
@Mapper
public interface UserMapper extends BaseMapper<User> {
}

3. 常用復(fù)雜查詢示例

3.1LIMIT查詢

LIMIT 用于限制查詢結(jié)果的數(shù)量。在 MyBatis-Plus 中,可以使用 Page 類(lèi)來(lái)實(shí)現(xiàn)類(lèi)似 LIMIT 的功能。

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
 
    public List<User> getUsersWithLimit(int pageNum, int pageSize) {
        Page<User> page = new Page<>(pageNum, pageSize);
        IPage<User> userPage = userMapper.selectPage(page, null);
        return userPage.getRecords();
    }
}

3.2ORDER BY查詢

ORDER BY 用于對(duì)查詢結(jié)果進(jìn)行排序。在 MyBatis-Plus 中,可以使用 QueryWrapper 來(lái)實(shí)現(xiàn)排序。

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
 
    public List<User> getUsersOrderByAgeDesc() {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.orderByDesc("age");
        return userMapper.selectList(wrapper);
    }
}

3.3GROUP BY和HAVING查詢

GROUP BY 用于對(duì)查詢結(jié)果進(jìn)行分組,HAVING 用于篩選分組后的結(jié)果。在 MyBatis-Plus 中,可以使用 QueryWrapper 結(jié)合 groupBy 和 having 方法來(lái)實(shí)現(xiàn)。

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
import java.util.Map;
 
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
 
    public List<Map<String, Object>> getUsersGroupByAgeHavingCount() {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.select("age", "COUNT(*) as count")
               .groupBy("age")
               .having("COUNT(*) > 1");
        return userMapper.selectMaps(wrapper);
    }
}

3.4LIKE查詢

LIKE 用于模糊查詢。在 MyBatis-Plus 中,可以使用 QueryWrapper 的 like 方法來(lái)實(shí)現(xiàn)。

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
 
    public List<User> getUsersLikeName(String keyword) {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.like("name", keyword);
        return userMapper.selectList(wrapper);
    }
}

4. 測(cè)試代碼

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
import java.util.List;
import java.util.Map;
 
@SpringBootApplication
public class Application implements CommandLineRunner {
    @Autowired
    private UserService userService;
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
 
    @Override
    public void run(String... args) throws Exception {
        // LIMIT 查詢
        List<User> usersWithLimit = userService.getUsersWithLimit(1, 10);
        System.out.println("LIMIT 查詢結(jié)果:" + usersWithLimit);
 
        // ORDER BY 查詢
        List<User> usersOrderByAgeDesc = userService.getUsersOrderByAgeDesc();
        System.out.println("ORDER BY 查詢結(jié)果:" + usersOrderByAgeDesc);
 
        // GROUP BY 和 HAVING 查詢
        List<Map<String, Object>> usersGroupByAgeHavingCount = userService.getUsersGroupByAgeHavingCount();
        System.out.println("GROUP BY 和 HAVING 查詢結(jié)果:" + usersGroupByAgeHavingCount);
 
        // LIKE 查詢
        List<User> usersLikeName = userService.getUsersLikeName("張");
        System.out.println("LIKE 查詢結(jié)果:" + usersLikeName);
    }
}

以上示例展示了 MyBatis-Plus 中常用復(fù)雜查詢的使用方法,你可以根據(jù)實(shí)際需求進(jìn)行調(diào)整。

到此這篇關(guān)于MybatisPlus較全常用復(fù)雜查詢的示例(limit、orderby、groupby、having、like...)的文章就介紹到這了,更多相關(guān)MybatisPlus 復(fù)雜查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Data + Thymeleaf 3 + Bootstrap 4 實(shí)現(xiàn)分頁(yè)器實(shí)例代碼

    Spring Data + Thymeleaf 3 + Bo

    本篇文章主要介紹了Spring Data + Thymeleaf 3 + Bootstrap 4 實(shí)現(xiàn)分頁(yè)器實(shí)例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-05-05
  • spring?boot入門(mén)之誕生背景及優(yōu)勢(shì)影響

    spring?boot入門(mén)之誕生背景及優(yōu)勢(shì)影響

    這篇文章主要為大家描述說(shuō)明了介紹了spring?boot誕生的背景以及其產(chǎn)生的優(yōu)勢(shì)影響,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Java實(shí)現(xiàn)的微信圖片處理工具類(lèi)【裁剪,合并,等比例縮放等】

    Java實(shí)現(xiàn)的微信圖片處理工具類(lèi)【裁剪,合并,等比例縮放等】

    這篇文章主要介紹了Java實(shí)現(xiàn)的微信圖片處理工具類(lèi),可實(shí)現(xiàn)針對(duì)圖片的裁剪、合并、等比例縮放、旋轉(zhuǎn)、識(shí)別等各種常見(jiàn)的圖片處理功能,需要的朋友可以參考下
    2017-11-11
  • Java SpringMVC異步處理詳解

    Java SpringMVC異步處理詳解

    這篇文章主要介紹了Java springmvc的處理異步,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • Java運(yùn)行時(shí)環(huán)境之ClassLoader類(lèi)加載機(jī)制詳解

    Java運(yùn)行時(shí)環(huán)境之ClassLoader類(lèi)加載機(jī)制詳解

    這篇文章主要給大家介紹了關(guān)于Java運(yùn)行時(shí)環(huán)境之ClassLoader類(lèi)加載機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • JAVA如何調(diào)用wsdl過(guò)程詳解

    JAVA如何調(diào)用wsdl過(guò)程詳解

    這篇文章主要介紹了JAVA如何調(diào)用wsdl過(guò)程詳解,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • ThreadLocal原理介紹及應(yīng)用場(chǎng)景

    ThreadLocal原理介紹及應(yīng)用場(chǎng)景

    本文詳細(xì)講解了ThreadLocal原理介紹及應(yīng)用場(chǎng)景,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • SpringBoot HATEOAS用法簡(jiǎn)介(入門(mén))

    SpringBoot HATEOAS用法簡(jiǎn)介(入門(mén))

    這篇文章主要介紹了SpringBoot HATEOAS用法簡(jiǎn)介(入門(mén)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • KafkaListener注解的實(shí)現(xiàn)機(jī)制源碼解析

    KafkaListener注解的實(shí)現(xiàn)機(jī)制源碼解析

    這篇文章主要為大家介紹了KafkaListener注解的實(shí)現(xiàn)機(jī)制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 詳解Maven項(xiàng)目Dependencies常見(jiàn)報(bào)錯(cuò)及解決方案

    詳解Maven項(xiàng)目Dependencies常見(jiàn)報(bào)錯(cuò)及解決方案

    這篇文章主要介紹了詳解Maven項(xiàng)目Dependencies常見(jiàn)報(bào)錯(cuò)及解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

新丰县| 台前县| 淮阳县| 高阳县| 丹寨县| 镶黄旗| 庐江县| 冕宁县| 蓝田县| 台江县| 陕西省| 长武县| 新源县| 光泽县| 青川县| 河源市| 泸溪县| 南宫市| 海阳市| 乡城县| 潼南县| 日土县| 云龙县| 常德市| 安义县| 抚顺县| 清原| 龙川县| 贵州省| 宜宾县| 万载县| 宁津县| 阳谷县| 孟连| 文登市| 烟台市| 绥化市| 霍邱县| 沾益县| 绥芬河市| 乌兰察布市|