最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
mybatis plus条件构造器queryWrapper与updateWrapper代码示例
时间:2020-09-02 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下mybatis plus条件构造器queryWrapper与updateWrapper代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
一、条件构造器关系介绍
介绍 :
1.上图绿色框为抽象类abstract
2.蓝色框为正常class类,可new对象
3.黄色箭头指向为父子类关系,箭头指向为父类
wapper介绍 :
1.Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示
2.AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
3.AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
4.LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
5.LambdaUpdateWrapper : Lambda 更新封装Wrapper
6.QueryWrapper : Entity 对象封装操作类,不是用lambda语法
7.UpdateWrapper : Update 条件封装,用于Entity对象更新操作
二、项目实例
在这里以QueryWrapper和UpdateWrapper为例,进行测试讲解。
上图表格为条件构造器使用中的各个方法格式和说明。
构造器条件
package com.lqf.crud; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lqf.crud.bean.crm.User; import com.lqf.crud.dao.crm.UserMapper; import com.sun.org.apache.xerces.internal.util.EntityResolverWrapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.session.RowBounds; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.jsf.el.WebApplicationContextFacesELResolver; import javax.naming.Name; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @RunWith(SpringRunner.class) @SpringBootTest public class QueryWrapperTests { @Autowired private UserMapper mapper; /** ** 根据根据 entity 条件,删除记录,QueryWrapper实体对象封装操作类(可以为 null) * 下方获取到queryWrapper后删除的查询条件为name字段为null的and年龄大于等于12的and email字段不为null的 * 同理写法条件添加的方式就不做过多介绍了。 *
*/ @Test public void delete() { QueryWrapperqueryWrapper = new QueryWrapper<>(); queryWrapper .isNull("name") .ge("age", 12) .isNotNull("email"); int delete = mapper.delete(queryWrapper); System.out.println("delete return count = " + delete); } /** * * 根据 entity 条件,查询一条记录, * 这里和上方删除构造条件一样,只是seletOne返回的是一条实体记录,当出现多条时会报错 *
*/ @Test public void selectOne() { QueryWrapperqueryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "lqf"); User user = mapper.selectOne(queryWrapper); System.out.println(user); } /** * * 根据 Wrapper 条件,查询总记录数 *
* * @param queryWrapper 实体对象 */ @Test public void selectCount() { QueryWrapperqueryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "lqf"); Integer count = mapper.selectCount(queryWrapper); System.out.println(count); } /** * * 根据 entity 条件,查询全部记录 *
* * @param queryWrapper 实体对象封装操作类(可以为 null)为null查询全部 */ @Test public void selectList() { Listlist = mapper.selectList(null); System.out.println(list); } /** * * 根据 Wrapper 条件,查询全部记录 *
* * @param queryWrapper 实体对象封装操作类(可以为 null) */ @Test public void selectMaps() { QueryWrapperqueryWrapper = new QueryWrapper<>(); queryWrapper.isNotNull("name"); List
相关文章
- SpringBoot自定义bean绑定解析 10-24
- Javaweb工程运行报错HTTP Status 404解决教程 10-20
- JAVA获取jvm和操作系统相关信息方法 10-20
- BeanFactory和FactoryBean的区别讲解 10-20
- 微信小程序的宿主环境实现教程 10-10
- dispatchEvent解决重叠元素响应事件教程 10-10