介绍
这篇文章运用简单易懂的例子给大家介绍mybatis +条件构造器中updateWrapper和queryWrapper的使用方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强>一、条件构造器关系介绍强>
介绍:
1。上图绿色框为抽象类文摘
2。蓝色框为正常类类,可对新象
3。黄色箭头指向为父子类关系,箭头指向为父类
wap介绍:
1。包装:条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
2。AbstractWrapper:用于查询条件封装,生成sql的条件
3。AbstractLambdaWrapper:λ语法使用包装统一处理解析λ获取列。
4。LambdaQueryWrapper:看名称也能明白就是用于λ语法使用的查询包装
5。LambdaUpdateWrapper:λ更新封装包装
6。QueryWrapper:实体对象封装操作类,不是用λ语法
7。UpdateWrapper:更新条件封装,用于实体对象更新操作
在这里我以QueryWrapper和UpdateWrapper为例,进行测试讲解。我会在上篇博客原有的基础上进行测试,如果不喜欢搭建项目的可直接下载我上个项目,上个项目的博客对应上个项目的讲解
上图表格为条件构造器使用中的各个方法格式和说明,如有不懂可参考官方文档内容
构造器条件
包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的使用方法