Mybatis Plus的 Lambda 消除硬编码 cloumn name

代码示例:

@Test
    public void selectList(){
        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper();
        lambdaQueryWrapper.like(User::getUsername , "k").lt(User::getAge , 30);
        List<User> userList = userMapper.selectList(lambdaQueryWrapper);
        userList.forEach(System.out::println);
    }

其中 like 的第一个形参,可以查看到是 R ,这个 R 的实际的类为 

SFunction<T, ?> function

入参中出现的R为泛型,在普通wrapper中是String,在LambdaWrapper中是函数(例:Entity::getId,Entity为实体类,getId为字段idgetMethod)

 

参考博客:

https://blog.csdn.net/qq_37960603/article/details/109004456

Mybatis Plus 3.x 中文手册 - 条件过滤:

https://www.bookstack.cn/read/mybatis-plus-3.x/bdd3a209a7eabb35.md

中文手册:

https://www.bookstack.cn/read/mybatis-plus-3.x/quickstart.md

( 热加载、攻击阻断、SQl注入、乐观锁、分布式事务 ... )

posted @ 2022-04-28 10:43  许伟强  阅读(288)  评论(0编辑  收藏  举报