Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段。

  下面简单举例,调用BaseMapper中的一些基本方法。在使用的时候需要实现BaseMapper接口。

一、deleteByMap

接口注释如下:

/**
* <p>
* 根据 columnMap 条件,删除记录
* </p>
*
* @param columnMap 表字段 map 对象
* @return int
*/
Integer deleteByMap(@Param("cm") Map<String, Object> columnMap);

调用例子:

public int deleteById(Long id) {
//删除条件
Map<String, Object> columnMap = Maps.newHashMap();
   columnMap.put("id", id);   return userMapper.deleteByMap(columnMap);
}

二、selectList

接口注释如下:

/**
* <p>
* 根据 entity 条件,查询全部记录
* </p>
*
* @param wrapper 实体对象封装操作类(可以为 null)
* @return List<T>
*/
List<T> selectList(@Param("ew") Wrapper<T> wrapper);

调用例子:

public List<SysUser> searchUserList(User user) {
EntityWrapper<User> ew = new EntityWrapper<>();
ew.where(user.getId() != null, "id={0}", user.getId())
.like(!Strings.isNullOrEmpty(user.getUserName()), "user_name", "%" + user.getUserName() + "%")
.where(user.getStatus() != null, "status={0}", user.getStatus());
return userMapper.selectList(ew);
}

上面的调用,当条件 user.getId()不等于空时,后面的条件才会出现在where中。

三、updateForSet

源码接口注释:

/**
* <p>
* 根据 whereEntity 条件,更新记录
* </p>
*
* @param setStr set字符串
* @param wrapper 实体对象封装操作类(可以为 null)
* @return
*/
Integer updateForSet(@Param("setStr") String setStr, @Param("ew") Wrapper<T> wrapper);

使用举例:

public int updateStatus(Long status,  Long userId) {
String setSql = " status=" + status;
EntityWrapper<User> ew = new EntityWrapper<>();
ew.where("id={0}", userId); return userMapper.updateForSet(setSql, ew);
}

剩下的就自己举一反三吧!!!

Mybatis-Plus的BaseMapper的使用的更多相关文章

  1. Spring boot mybatis : Error creating bean with name 'com.github.pagehelper.autoconfigure.MapperAutoConfiguration': Invocation of init method failed;

    报错截图: 解决方法: 只能扫描到自定义的mapper,不能扫描到其他文件. @MapperScan("com.streamax.s17.tms.dao.pper.repository&qu ...

  2. springboot整合mybatis的两种方式

    https://blog.csdn.net/qq_32719003/article/details/72123917 springboot通过java bean集成通用mapper的两种方式 前言:公 ...

  3. spring mybatis circular reference

    摘要: Error creating bean with name 'XXX': Requested bean is currently in creation: Is there an unreso ...

  4. mybatis plus 增删改自动填充字段值

    说明 本文实现以下需求效果 创建数据时自动填充 createUserId 和 createTime 更新数据时自动填充 updateUserId 和 updateTime(每次修改都自动填充新的 up ...

  5. spring+mybati java config配置引起的bean相互引用日志报警告问题

    摘要: Error creating bean with name 'XXX': Requested bean is currently in creation: Is there an unreso ...

  6. 使用Spring Boot搭建应用开发框架(一) —— 基础架构

    Spring的简史 第一阶段:XML配置,在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分放到不同的配置文件里,那时候需要频繁的在 ...

  7. 我的自定义框架 || 基于Spring Boot || 第一步

    今天在园子里面看到一位大神写的springboot做的框架,感觉挺不错,遂想起来自己还没有一个属于自己的框架,决定先将大神做好的拿过来,然后加入自己觉得需要的模块,不断完善 目前直接复制粘贴过来的,后 ...

  8. spring-boot集成PageHelper和通用Mapper

    前提条件:已经集成mybatis 代码生成步骤: 添加依赖 <dependency> <groupId>tk.mybatis</groupId> <artif ...

  9. java服务端项目开发规范

    更新内容 2015-03-13 (请先更新svn的mybatis.xml.BaseMapper.java.Pager.java文件) 加入测试类规范 加入事物控制规范 加入mapper接口规则 ...

  10. TKmybatis的框架介绍及使用方法

    最近项目使用了SpringBoot+TKMytis框架,期间遇到一些问题,顺便记一下. 一.框架配置 配置的话非常简单,我用的是SpringBoot,直接引入: <dependency> ...

随机推荐

  1. MRv1到MRv2

    概述 引入YARN作为通用资源调度平台后.Hadoop得以支持多种计算框架,如MapReduce.Spark.Storm等. MRv1是Hadoop1中的MapReduce,MRv2是Hadoop2中 ...

  2. 怎样 获取 ios的系统版本

    获得Ios系统版本的函数,比方 函数定义: [cpp] view plaincopy + (float)getIOSVersion; 函数实现: [cpp] view plaincopy + (flo ...

  3. python清除数据库错误日志

    # coding=gbk from encodings import gbk  import re   import sys import  os import  pyodbc import trac ...

  4. Linux黑洞

    1 什么是Linux黑洞 在Linux系统中,/dev/null是一个虚设的设备.俗称"Linux黑洞". 不论什么对/dev/null的写入都会成功.但数据会消失得无影无踪.没有 ...

  5. udev的使用-minicom没有权限打开串口,更改 ttyUSB0 的权限

    udev的使用-minicom没有权限打开串口,更改 ttyUSB0 的权限 使用minicom打开串口会提示没有权限,必需要用 sudo,怎样更改串口设备的权限能够让普通用户读写呢? 事实上仅仅要更 ...

  6. spring属性的三种注入方法

    (1)使用set方法: public class Book {  private String bookname;public void setBookname(String bookname) {  ...

  7. Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D【转】

    本文转载自:http://blog.csdn.net/maopig/article/details/7230311 在源代码里面如果这样是定义的:#ifdef   MACRONAME//可选代码#en ...

  8. hdoj--2015--偶数求和(水题)

    偶数求和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  9. day63-webservice 06.在web项目中发布以类的形式发布webservice

    真正用的时候都是需要部署在WEB服务器里面. 不能写主函数来发布了,需要借助于我们WEB. 4.配置web.xml, <!DOCTYPE web-app PUBLIC "-//Sun ...

  10. 访问修饰符相关注意点(protected子类友好)

    注意:protected表示只有在子类和同包中可以访问. 需要注意的是,在其他包中,若是创建了父类的对象,但是父类对象访问不了自己类里面用protected修饰的属性,只能由子类访问父类的protec ...