• MybatisPlus之QueryWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper用法


    MybatisPlus3.4.1版本自定义条件构造器

    Wrapper之QueryWrapper、LambdaQueryWrapper以及LambdaQueryChainWrapper

    1、QueryWrapper

     .like("email", "24252") //email对应数据库中列名
     1    /**
     2      * 条件构造器 查询操作
     3      */
     4     @Test
     5     void TestQueryWrapperSelect() {
     6         //1、条件用法
     7         List<User> userList = userMapper.selectList(new QueryWrapper<User>()
     8                 .like("email", "24252")
     9                 .between("age", 20, 22)
    10                 .or()
    11                 .eq("name", "zcx")
    12         );
    13         System.out.println("userList:" + userList);
    14 
    15         //2、排序用法
    16         List<User> users = userMapper.selectList(new QueryWrapper<User>()
    17                 .eq("nick_name", "xx")
    18                 .orderByAsc("age")  //升序
    19 //                .orderByDesc("age") //降序
    20                 .last("limit 0,3") //last用法:在sql末尾添加sql语句,有sql注入风险
    21         );
    22         System.out.println("users:"+users);
    23 
    24     }

    2、LambdaQueryWrapper

    queryWrapper.eq(User::getName,"liangd1"); //可以通过Lambda获取数据库列名
     1     @Test
     2     void TestLambdaQueryWrapper() {
     3         //1、查询单条
     4         LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
     5         queryWrapper.eq(User::getName,"liangd1");
     6         User selectOne = userMapper.selectOne(queryWrapper);
     7         System.out.println(selectOne);
     8 
     9         //2、查询list以及统计条数
    10         queryWrapper.eq(User::getName, "zcx");
    11         List<User> userList = userMapper.selectList(queryWrapper);
    12         System.out.println("userList:" + userList);
    13         Integer result = userMapper.selectCount(queryWrapper);
    14         System.out.println("result:" + result);
    15     }

    3、LambdaQueryChainWrapper

    1 //链式查询方式
    2 User one = new LambdaQueryChainWrapper<>(userMapper)
    3                  .eq(User::getName, "liangd1")
    4                  .one();
     1    @Test
     2     void TestLambdaQueryChainWrapper() {
     3         //1、eq查询单条
     4         User one = new LambdaQueryChainWrapper<>(userMapper)
     5                 .eq(User::getName, "liangd1")
     6                 .one();
     7         System.out.println("UserOne:" + one);
     8 
     9         //2、查询list
    10         List<User> users = new LambdaQueryChainWrapper<>(userMapper)
    11                 .eq(User::getName, "zcx")
    12                 .list();
    13         System.out.println("UserList:" + users);
    14 
    15         //3、模糊查询
    16         List<User> LikeList = new LambdaQueryChainWrapper<>(userMapper)
    17                 .like(User::getEmail, "test")
    18                 .list();
    19         System.out.println("LikeUser:" + LikeList);
    20     }
  • 相关阅读:
    通过串口抓取图片
    Qt也有垃圾回收(通过QScopedPointer实现),下决心在项目里使用QScopedPointer,省了太多事情了,而且更安全!!
    IOS端 margin-top 和 margin-bottom 使用负数时的区别
    使用ROME解析rss,如何获取icon图标
    SVG图片如何调整大小和颜色
    Js点击触发Css3的动画Animations、过渡Transitions效果
    如何判断是否为同一个App,Ionic3如何修改包名
    如何使用JPQL写纯SQL语句
    为何在新线程中使用注解获取不到Spring管理的Bean
    Ionic的NavController 和ModalController 的区别
  • 原文地址:https://www.cnblogs.com/donleo123/p/14109889.html
Copyright © 2020-2023  润新知