条件构造器的格式说明

导入maven依赖

        <dependency><groupId>com.github.jeffreyning</groupId><artifactId>mybatisplus-plus</artifactId><version>1.5.1-RELEASE</version><scope>compile</scope></dependency>

Service 继承IService

/*** @Author lqq* @Date 2019/11/25 9:27* @Description* @Version 1.0*/
@Slf4j
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {}

最常用的方法就增删改查

User user = new User();
user.setAge(23);
user.setEmail("344");
user.setName("test");
// 1.使用service新增
userService.save(user);
// 2.使用mapper 新增
userMapper.insert(user);
// 根据条件删除
userService.remove(Wrappers.<User>query().lambda().eq(User::getAge, 3));
// 更新
UpdateWrapper<User> updateWrapper = new UpdateWrapper<User>();
//修改语句
updateWrapper.set("name", "123");
//条件
updateWrapper.eq("id", user.getId());
userService.update(updateWrapper);
// 更新
UpdateWrapper<User> updateWrapper=new UpdateWrapper<>();
User user =new User();
user.setEmail("1234@qq.com");
//条件
updateWrapper.eq("id",6);
int rows = userService.update(user,updateWrapper);
QueryWrapper<User> wrapper=new QueryWrapper<>();
// 条件
wrapper.isNotNull("name") //name不为空的用户.isNotNull("email") //邮箱不为空的用户.ge("age",12); //年龄大于等于12
userService.selectList(wrapper).forEach(System.out::println);

IService

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//package com.baomidou.mybatisplus.extension.service;import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper;
import com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.toolkit.ChainWrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.springframework.transaction.annotation.Transactional;public interface IService<T> {int DEFAULT_BATCH_SIZE = 1000;default boolean save(T entity) {return SqlHelper.retBool(this.getBaseMapper().insert(entity));}@Transactional(rollbackFor = {Exception.class})default boolean saveBatch(Collection<T> entityList) {return this.saveBatch(entityList, 1000);}boolean saveBatch(Collection<T> entityList, int batchSize);@Transactional(rollbackFor = {Exception.class})default boolean saveOrUpdateBatch(Collection<T> entityList) {return this.saveOrUpdateBatch(entityList, 1000);}boolean saveOrUpdateBatch(Collection<T> entityList, int batchSize);default boolean removeById(Serializable id) {return SqlHelper.retBool(this.getBaseMapper().deleteById(id));}default boolean removeByMap(Map<String, Object> columnMap) {Assert.notEmpty(columnMap, "error: columnMap must not be empty", new Object[0]);return SqlHelper.retBool(this.getBaseMapper().deleteByMap(columnMap));}default boolean remove(Wrapper<T> queryWrapper) {return SqlHelper.retBool(this.getBaseMapper().delete(queryWrapper));}default boolean removeByIds(Collection<? extends Serializable> idList) {return CollectionUtils.isEmpty(idList) ? false : SqlHelper.retBool(this.getBaseMapper().deleteBatchIds(idList));}default boolean updateById(T entity) {return SqlHelper.retBool(this.getBaseMapper().updateById(entity));}default boolean update(Wrapper<T> updateWrapper) {return this.update((Object)null, updateWrapper);}default boolean update(T entity, Wrapper<T> updateWrapper) {return SqlHelper.retBool(this.getBaseMapper().update(entity, updateWrapper));}@Transactional(rollbackFor = {Exception.class})default boolean updateBatchById(Collection<T> entityList) {return this.updateBatchById(entityList, 1000);}boolean updateBatchById(Collection<T> entityList, int batchSize);boolean saveOrUpdate(T entity);default T getById(Serializable id) {return this.getBaseMapper().selectById(id);}default List<T> listByIds(Collection<? extends Serializable> idList) {return this.getBaseMapper().selectBatchIds(idList);}default List<T> listByMap(Map<String, Object> columnMap) {return this.getBaseMapper().selectByMap(columnMap);}default T getOne(Wrapper<T> queryWrapper) {return this.getOne(queryWrapper, true);}T getOne(Wrapper<T> queryWrapper, boolean throwEx);Map<String, Object> getMap(Wrapper<T> queryWrapper);<V> V getObj(Wrapper<T> queryWrapper, Function<? super Object, V> mapper);default int count() {return this.count(Wrappers.emptyWrapper());}default int count(Wrapper<T> queryWrapper) {return SqlHelper.retCount(this.getBaseMapper().selectCount(queryWrapper));}default List<T> list(Wrapper<T> queryWrapper) {return this.getBaseMapper().selectList(queryWrapper);}default List<T> list() {return this.list(Wrappers.emptyWrapper());}default <E extends IPage<T>> E page(E page, Wrapper<T> queryWrapper) {return this.getBaseMapper().selectPage(page, queryWrapper);}default <E extends IPage<T>> E page(E page) {return this.page(page, Wrappers.emptyWrapper());}default List<Map<String, Object>> listMaps(Wrapper<T> queryWrapper) {return this.getBaseMapper().selectMaps(queryWrapper);}default List<Map<String, Object>> listMaps() {return this.listMaps(Wrappers.emptyWrapper());}default List<Object> listObjs() {return this.listObjs(Function.identity());}default <V> List<V> listObjs(Function<? super Object, V> mapper) {return this.listObjs(Wrappers.emptyWrapper(), mapper);}default List<Object> listObjs(Wrapper<T> queryWrapper) {return this.listObjs(queryWrapper, Function.identity());}default <V> List<V> listObjs(Wrapper<T> queryWrapper, Function<? super Object, V> mapper) {return (List)this.getBaseMapper().selectObjs(queryWrapper).stream().filter(Objects::nonNull).map(mapper).collect(Collectors.toList());}default <E extends IPage<Map<String, Object>>> E pageMaps(E page, Wrapper<T> queryWrapper) {return this.getBaseMapper().selectMapsPage(page, queryWrapper);}default <E extends IPage<Map<String, Object>>> E pageMaps(E page) {return this.pageMaps(page, Wrappers.emptyWrapper());}BaseMapper<T> getBaseMapper();Class<T> getEntityClass();default QueryChainWrapper<T> query() {return ChainWrappers.queryChain(this.getBaseMapper());}default LambdaQueryChainWrapper<T> lambdaQuery() {return ChainWrappers.lambdaQueryChain(this.getBaseMapper());}default KtQueryChainWrapper<T> ktQuery() {return ChainWrappers.ktQueryChain(this.getBaseMapper(), this.getEntityClass());}default KtUpdateChainWrapper<T> ktUpdate() {return ChainWrappers.ktUpdateChain(this.getBaseMapper(), this.getEntityClass());}default UpdateChainWrapper<T> update() {return ChainWrappers.updateChain(this.getBaseMapper());}default LambdaUpdateChainWrapper<T> lambdaUpdate() {return ChainWrappers.lambdaUpdateChain(this.getBaseMapper());}default boolean saveOrUpdate(T entity, Wrapper<T> updateWrapper) {return this.update(entity, updateWrapper) || this.saveOrUpdate(entity);}
}

MybatisPlus使用Wrapper实现增删改查功能相关推荐

  1. 使用EF框架实现MVC的增删改查功能!!!Entity Framework

    一.什么是EF? ADO.NETEntity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.ADO.NET Entity Fram ...

  2. 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!

    一丶使用三层架构创建一个简单的MVC登录操作 1.首先,创建一个项目以及BLL层.DAL层.Entity层,如图一: 图一 2.创建一个数据库如图二: 图二 3基本工作已做好,接下来就编BLL层.DA ...

  3. ext store 数据修改_Go 数据存储篇(一):基于内存存储实现数据增删改查功能...

    在 Web 编程中,经常需要处理用户请求数据,而用户请求数据的处理往往又涉及到数据存储与获取,支持存储数据的媒介很多,包括内存.文件系统.数据库等,接下来,学院君将花几个篇幅的教程来系统介绍 Go W ...

  4. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  5. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能

    前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...

  6. bootstrap表格遍历_BootStrap实现带有增删改查功能的表格(DEMO详解)

    前言 bootstrap的表格样式,有类似EasyUI的表格,也有卡片式表格,放到移动端显示,各有千秋.但是BootStrap自带的表格是没有操作列的,网上的资源不少,但是都是比较单一.零碎,JS.C ...

  7. molicode生成vue增删改查功能

    2019独角兽企业重金招聘Python工程师标准>>> molicode生成vue增删改查功能 背景描述 当前生成的页面主要应用于VUE前端UI框架 iview: https://i ...

  8. Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能。(ArrayList,SQLite)

    Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能.(ArrayList,SQLite) 布局(activity_main.xml): <?xml v ...

  9. 基于localstorage实现增删改查功能

    本文以英雄联盟英雄列表中英雄的增删改查为例,介绍localstorage的增删改查功能 该图显示了增差功能,由于我将图片和英雄名字设置为相同的,所以这里输入英雄名字(我将其命名为1~100的数字)图片 ...

最新文章

  1. 谷歌又孵化出黑科技项目!押注工业机器人方向,上海交大校友参与
  2. input 事件_14. 教你零基础搭建小程序:小程序事件绑定(1)
  3. 谈mvc开发中gzip压缩的应用
  4. 【网易MCTalk】除了低价促销、丰富品类,电商就没有新玩法了?
  5. 【机器学习】Python 快速入门笔记
  6. Bootstrap3 滚动监听插件的调用方式
  7. 观察者模式与职责链模式的相同和不同_GOF设计模式(策略模式,职责链模式)...
  8. linux zk服务 关闭_ORACLE数据库RAC安装部署--一键关闭Linux非必要服务
  9. MySQL 在512M一下内存优化配置
  10. linux设置文件最大权限,linux chmod 数字设置权限(最大权限)
  11. 西威变频器avo下载调试资料_小白妙招 | G120/G120C 变频器模拟量断线速度保持
  12. IEEE极限编程练习:Sorting Partition
  13. 【stata】一些关于数据处理的基础知识(备查代码)
  14. matlab 贝塞尔函数 虚数,Bessel函数介绍.pdf
  15. python操作autocad_利用python控制Autocad:pyautocad方式
  16. linux rpm 装 mac,linux之 rpm,yum
  17. 如何将JPG转换成PNG格式呢?
  18. Vueb报错[WDS] Errors while compiling. Reload prevented
  19. LaTeX中如何使图片插入紧跟在当前文字之后
  20. Windows API 函数SendMessage与PostMessage使用方法和常见的坑

热门文章

  1. spring security里user表和authorities表名字改了该如何操作
  2. 信息安全概论期末复习
  3. Codeup墓地-1104
  4. Edexcel A-Level化学真题讲解(1)
  5. Docker安装制作
  6. Windchill系统调优基础
  7. 我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(上)
  8. 360.狗改不了吃屎?
  9. U盘加密软件哪个好?U盘加密软件合集
  10. wordpress主题开发001——新建主题