mybatis +条件构造器中updateWrapper和queryWrapper的使用方法

  介绍

这篇文章运用简单易懂的例子给大家介绍mybatis +条件构造器中updateWrapper和queryWrapper的使用方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>一、条件构造器关系介绍

 mybatis +条件构造器中updateWrapper和queryWrapper的使用方法

介绍:

1。上图绿色框为抽象类文摘
2。蓝色框为正常类类,可对新象
3。黄色箭头指向为父子类关系,箭头指向为父类

wap介绍:

1。包装:条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
2。AbstractWrapper:用于查询条件封装,生成sql的条件
3。AbstractLambdaWrapper:λ语法使用包装统一处理解析λ获取列。
4。LambdaQueryWrapper:看名称也能明白就是用于λ语法使用的查询包装
5。LambdaUpdateWrapper:λ更新封装包装
6。QueryWrapper:实体对象封装操作类,不是用λ语法
7。UpdateWrapper:更新条件封装,用于实体对象更新操作

在这里我以QueryWrapper和UpdateWrapper为例,进行测试讲解。我会在上篇博客原有的基础上进行测试,如果不喜欢搭建项目的可直接下载我上个项目,上个项目的博客对应上个项目的讲解

 mybatis +条件构造器中UpdateWrapper和QueryWrapper的使用方法

上图表格为条件构造器使用中的各个方法格式和说明,如有不懂可参考官方文档内容

构造器条件

包com.lqf.crud;
  
  进口com.baomidou.mybatisplus.core.conditions.Wrapper;
  进口com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  进口com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  进口com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  进口com.baomidou.mybatisplus.core.metadata.IPage;
  进口com.baomidou.mybatisplus.core.toolkit.Constants;
  进口com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  进口com.lqf.crud.bean.crm.User;
  进口com.lqf.crud.dao.crm.UserMapper;
  进口com.sun.org.apache.xerces.internal.util.EntityResolverWrapper;
  进口org.apache.ibatis.annotations.Param;
  进口org.apache.ibatis.session.RowBounds;
  进口org.junit.Test;
  进口org.junit.runner.RunWith;
  进口org.springframework.beans.factory.annotation.Autowired;
  进口org.springframework.boot.test.context.SpringBootTest;
  进口org.springframework.test.context.junit4.SpringRunner;
  进口org.springframework.web.jsf.el.WebApplicationContextFacesELResolver;
  
  进口javax.naming.Name;
  进口java.util.ArrayList;
  进口java.util.HashMap;
  进口并不知道;
  进口java.util.Map;
  
  @RunWith (SpringRunner.class)
  @SpringBootTest
  公开课QueryWrapperTests {
  
  @ autowired
  私人usermap映射器;/* *
  * & lt; p>
  *根据根据实体条件,删除记录,QueryWrapper实体对象封装操作类(可以为零)
  *下方获取到queryWrapper后删除的查询条件为名称字段为空的和年龄大于等于12的和电子邮件字段不为零的
  *同理写法条件添加的方式就不做过多介绍了。
  * & lt;/p>
  */@Test
  公共空间删除(){
  QueryWrapper,queryWrapper=new QueryWrapper<的在();
  queryWrapper
  .isNull (“name")
  .ge (“age", 12)
  .isNotNull (“email");
  int删除=mapper.delete (queryWrapper);
  System.out.println(“删除返回数=?+删除);
  }/* *
  * & lt; p>
  *根据实体条件,查询一条记录,
  *这里和上方删除构造条件一样,只是seletOne返回的是一条实体记录,当出现多条时会报的错
  * & lt;/p>
  */@Test
  公共空间selectOne () {
  QueryWrapper,queryWrapper=new QueryWrapper<的在();
  queryWrapper.eq (“name",“lqf");
  
  用户用户=mapper.selectOne (queryWrapper);
  System.out.println(用户);
  }/* *
  * & lt; p>
  *根据包装条件,查询总记录数
  * & lt;/p>
  *
  * @param queryWrapper实体对象
  */@Test
  公共空间selectCount () {
  QueryWrapper,queryWrapper=new QueryWrapper<的在();
  queryWrapper.eq (“name",“lqf");
  
  整型数=mapper.selectCount (queryWrapper);
  System.out.println(数);
  }/* *
  * & lt; p>
  *根据实体条件,查询全部记录
  * & lt;/p>
  *
  * @param queryWrapper实体对象封装操作类(可以为null)为零查询全部
  */@Test
  公共空间selectList () {
  List

mybatis +条件构造器中updateWrapper和queryWrapper的使用方法