【Mybatis】LambdaQueryWrapper用法示例


本文適用於SpringBoot2.5.4,Mybatis2.2.0,mybatis-plus3.0.5版本,不保證在其它版本的適用性。

例程下載:https://files.cnblogs.com/files/heyang78/redisCache_LambdaQueryWrapper_211005.rar

 

mybatis-plus提供的LambdaQueryWrapper最大好處是省去書寫一些簡單SQL的工夫,弊端是有被濫用的可能,背離了lamda的初衷。

當然本文的目的是講用法,用得適當與否不在探討之列。

 

第一步:增加依賴:

        <!-- Spring MyBatis Support -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>
        
 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency>

上面紅色部分就是要增加的mybatis-plus依賴。

 

第二步:書寫EmpDao類

package com.hy.myapp;

import org.apache.ibatis.annotations.Mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

@Mapper
public interface EmpDao extends BaseMapper<Emp>{

}

這個類夠簡單的,里面空空如也。

 

第三步:使用

@RestController
public class JsonCtrl {
    @Resource
    private EmpDao empDao;
    
    @RequestMapping(value="/searchEmpsByAge", method=RequestMethod.GET)
    public List<Emp> searchEmpsByAge(@ModelAttribute(value="age") int age) {
 QueryWrapper<Emp> queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(Emp::getAge, age); List<Emp> emps=empDao.selectList(queryWrapper); return emps;
    }
...
}

 

之后用postman調接口就行了:

req:http://localhost:8080/myapp/searchEmpsByAge?age=42

rsp:

[
    {
        "id": 3,
        "name": "李逵",
        "age": 42
    },
    {
        "id": 1,
        "name": "2222",
        "age": 42
    },
    {
        "id": 2,
        "name": "3333",
        "age": 42
    }
]

到這里就完成了。

 

參考資料:

1.https://www.jb51.net/article/194620.htm

2.https://blog.csdn.net/liuyishan1993/article/details/92794854

3.https://blog.csdn.net/qq_28336351/article/details/82635100

在此感謝以上作者的付出。

END


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM