MybatisPlus QueryWrapper常用方法实例

 更新时间:2022年04月15日 08:38:43   作者:_沈  
MyBatis-Plus(opens new window)是一个MyBatis(opens new window)的增强工具,在 MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于MybatisPlus QueryWrapper常用方法的相关资料,需要的朋友可以参考下

QueryWrapper常用方法

MybatisPlus 使用QueryWrapper测试用例

一、ge、gt、le、lt、isNull、isNotNull

@Test
public void testQuery() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper
            .isNull("name")
            .ge("age", 12)
            .isNotNull("email");
        int result = userMapper.delete(queryWrapper);
    System.out.println("delete return count = " + result);
}

二、eq、ne

@Test
public void testSelectOne() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.eq("name", "Tom");
    Useruser = userMapper.selectOne(queryWrapper);//只能返回一条记录,多余一条则抛出异常
    System.out.println(user);
}

三、between、notBetween

@Test
public void testSelectCount() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.between("age", 20, 30);
        Integer count = userMapper.selectCount(queryWrapper); //返回数据数量
    System.out.println(count);
}

四、like、notLike、likeLeft、likeRight

@Test
public void testSelectMaps() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper
            .select("name", "age")
            .like("name", "e")
            .likeRight("email", "5");
    List<Map<String, Object>> maps = userMapper.selectMaps(queryWrapper);//返回值是Map列表
    maps.forEach(System.out::println);
}

五、orderBy、orderByDesc、orderByAsc

@Test
public void testSelectListOrderBy() {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.orderByDesc("age", "id");
    List<User>users = userMapper.selectList(queryWrapper);
    users.forEach(System.out::println);
}

六、插入insert

@Test
public void save() {
    User user = new User();
    user.setAge(23);
    user.setEmail("344");
    user.setName("test");
    // 1.使用service新增
    userService.save(user);
    // 2.使用mapper 新增
    userMapper.insert(user);
}

七、删除remove

@Test
public void delete() {
    // 根据条件删除
    userService.remove(Wrappers.<User>query().lambda().eq(User::getAge, 3));
}

八、修改update

@Test
public void update() {
    User user = new User();
    user.setAge(23);
    user.setEmail("344");
    user.setName("test333");
    UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
    updateWrapper.eq("id","1");
    // 1.user 中封装修改的属性值, updateWrapper 中封装修改的条件参数值
    userService.update(user,updateWrapper);

    // 2.根据条件修改对应的参数属性值
    userService.update(Wrappers.<User>update().lambda().set(User::getName, "2").eq(User::getAge, 23));    
    // 3.判断参数是否为空,并进行修改     String name = "name";     userService.update(Wrappers.<User>update().lambda().set(StringUtils.isNotBlank(name),User::getName, name).eq(User::getAge, 23));
}

总结

到此这篇关于MybatisPlus QueryWrapper常用方法的文章就介绍到这了,更多相关QueryWrapper常用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java中HashSet的特点及实例用法

    java中HashSet的特点及实例用法

    在本篇文章里小编给大家整理的是一篇关于java中HashSet的特点及实例用法,有兴趣的朋友们可以学习下。
    2021-04-04
  • Java面试题-实现复杂链表的复制代码分享

    Java面试题-实现复杂链表的复制代码分享

    这篇文章主要介绍了Java面试题-实现复杂链表的复制代码分享,小编觉得还是挺不错的,具有参考价值,需要的朋友可以了解下。
    2017-10-10
  • Java利用套接字实现应用程序对数据库的访问

    Java利用套接字实现应用程序对数据库的访问

    所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。这篇文章主要介绍了Java利用套接字实现应用程序对数据库的访问,感兴趣的可以了解一下
    2022-09-09
  • java编程之AC自动机工作原理与实现代码

    java编程之AC自动机工作原理与实现代码

    这篇文章主要介绍了java编程之AC自动机的有关内容,涉及其应用场景,运行原理,运行过程,构造方法及Java中的实现代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Shiro实现session限制登录数量踢人下线功能

    Shiro实现session限制登录数量踢人下线功能

    这篇文章主要介绍了Shiro实现session限制登录数量踢人下线,本文记录的是shiro采用session作为登录方案时,对用户进行限制数量登录,以及剔除下线,需要的朋友可以参考下
    2023-11-11
  • Java如何利用递归计算出阶乘

    Java如何利用递归计算出阶乘

    这篇文章主要介绍了Java如何通过递归计算出阶乘,文中介绍了递归的使用方法和基本特点,以及相关示例代码,对大家的学习有一定的帮助,需要的朋友可以参考下
    2023-05-05
  • 实例讲解Java设计模式编程中的OCP开闭原则

    实例讲解Java设计模式编程中的OCP开闭原则

    这篇文章主要介绍了Java设计模式编程中的开闭原则,开闭原则的大意被作者总结为用抽象构建框架,用实现扩展细节,需要的朋友可以参考下
    2016-02-02
  • Java 小游戏开发之俄罗斯方块

    Java 小游戏开发之俄罗斯方块

    这篇文章主要介绍了Java 小游戏开发之俄罗斯方块的相关资料,这里实现俄罗斯方块的实例和实现效果给大家看下,学习java基础的朋友的好资料,需要的朋友可以参考下
    2017-07-07
  • Kotlin基础教程之控制流(顺序,分支,循环)

    Kotlin基础教程之控制流(顺序,分支,循环)

    这篇文章主要介绍了Kotlin基础教程之控制流的相关资料,需要的朋友可以参考下
    2017-05-05
  • java中static的用法及注意点

    java中static的用法及注意点

    在本篇文章里小编给大家整理的是一篇关于java中static的用法及注意点,有兴趣的朋友们可以学习下。
    2021-03-03

最新评论