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));
}

QueryWrapper常用方法相关推荐

  1. Mybatis-plus中QueryWrapper的使用

    一.QueryWrapper是什么? QueryWrapper就是在使用Mybatis-plus中真实用到的一种技术,也叫作构造器,能简化sql的操作. 二.常用方法总结 1.单表操作 代码如下(示例 ...

  2. MybatisPlus的使用和Wrapper(QueryWrapper and UpdateWrapper)

    一.MyBatis-Plus 1.简介 MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在. 官网文档地址 ...

  3. 30 个 php 操作 redis 常用方法代码例子

    这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类 型. list 类型和 set 类型的数据 , 需要的朋友可以 ...

  4. SearchRequestBuilder常用方法说明

    SearchRequestBuilder常用方法说明 (1) setIndices(String... indices):上文中描述过,参数可为一个或多个字符串,表示要进行检索的index:(2) s ...

  5. 3-RACSignal 常用方法

    RACSingal的常用方法 一 基本使用 1map // 0 创建信号提供者// RACSubject,既能发送信号,又能订阅信号// 多用于代理,相当于OC里的delegate或者回调blockR ...

  6. AJAX 一些常用方法

    AJAX 一些常用方法 abort() 停止当前请求 getAllResponseHeaders() 返回包含HTTP请求的所有响应头信息,其中响应头包括Content-Length,Date,URI ...

  7. OC基础第四讲--字符串、数组、字典、集合的常用方法

    OC基础第四讲--字符串.数组.字典.集合的常用方法 字符串.数组.字典.集合有可变和不可变之分.以字符串为例,不可变字符串本身值不能改变,必须要用相应类型来接收返回值:而可变字符串调用相应地方法后, ...

  8. vue——props的两种常用方法

    vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"> ...

  9. C#中静态方法的运用和字符串的常用方法(seventh day)

    又来到了今天的总结时间,由于昨天在云和学院学的知识没有弄懂,今天老师又专门给我们非常详细地讲了一遍,在这里非常谢谢老师.O(∩_∩)O 话不多说,下面就开始为大家总结一下静态方法的运用和字符串的常用方 ...

最新文章

  1. 我们是如何陷入贫穷与忙碌的?
  2. python处理excel教程实例-python如何处理excel数据
  3. iPad开发(相对于iPhone开发时专有的API)
  4. 只安装oracle服务端连plsql,Oracle 不安装Oracle客户端,使用PLSQL连接Oracle服务器
  5. 设计干货之插画模板|彩色手绘自然风景城市风景
  6. Ubuntu系统下go语言环境的搭建
  7. Eventbus收录
  8. 阶段3 1.Mybatis_09.Mybatis的多表操作_8 mybatis多对多操作-查询角色获取角色下所属用户信息...
  9. matlab 2020b linux版本 下载
  10. [讨论] 1.虚拟设备驱动程序初步
  11. VBScript教程-第三章. 脚本的组成部分
  12. 共读ulord项目分析(一)
  13. Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To
  14. Win10中如何把语言栏缩到系统托盘
  15. 微信小程序四种json配置文件详解
  16. 30 个 Python 的最佳实践、小贴士和技巧
  17. 团体程序设计天梯赛-练习集L1-058 6翻了 (15 分)
  18. 电脑控制手机,脚本帮你实现更强大的功能
  19. forever warn: --minUptime not set. Defaulting to: 1000ms
  20. 2023年经济危机要来了,如何度过这个难关?

热门文章

  1. 图形学复习-有效边表填充算法
  2. smb.conf 中文man页面(1)
  3. 高速PCB(五) 信号层覆铜选择困难症
  4. 翻纸牌游戏 【HDU - 2209】【规律】
  5. 高通语音专题--呼叫保持流程和日志分析
  6. Unity3D 摄像机滑动跟随
  7. 理光R5445系列 单节锂电池保护芯片,内置驱动器高位Nch FET开关温度保护
  8. ng-alain新版尝试
  9. 【原创】数据分析报告撰写概览
  10. 香港消防处去年接3.3万宗火警召唤 第四代调派系统料2033年启用