本文適用於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
