1、selectById 根据主键查询一个对象,如果没有查到,则返回null:

GxySchoolDto isExist = gxySchoolMapper.selectById(schoolEntity.getSchoolId());

2、selectOne 根据 查询对象 queryWrapper 查询一个 对象, 没有查到则返回 null:
 QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("is_deleted",0);
queryWrapper.eq("school_code",schoolEntity.getSchoolCode());
GxySchoolDto isByCode = gxySchoolMapper.selectOne(queryWrapper);
@Mapper
public interface GxySchoolMapper extends BaseMapper<GxySchoolDto> {
}
@Data
@TableName("gxy_school")
public class GxySchoolDto extends BaseDto implements Serializable {
private static final long serialVersionUID = 1L; /**
* 唯一主键
*/
@TableId(value = "school_id", type = IdType.UUID)
private String schoolId;
/**
* 学校名称
*/
private String schoolName;
/**
* 学校代码
*/
private String schoolCode;
3.  list 查询列表:
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("plan_temp_id",planTemplateEntity.getPlanTemplateId());
queryWrapper.eq("is_deleted",0);
List<GxyPlanTempAppraiseItemDto> planTempAppraiseItemDtos = gxyPlanTempAppraiseItemService.list(queryWrapper);

对应的sql:
SELECT plan_temp_appraise_item_id,is_deleted,create_time,plan_temp_id,appraise_item_id,prop,is_point,item_name,snow_flake_id FROM gxy_plan_temp_appraise_item WHERE plan_temp_id = ? AND is_deleted = ? 
Parameters: de42308f1617a837f98ba2507ac58d87(String), 0(Integer) 4. SQL 语句:
SELECT school_id,school_name,is_deleted,school_code FROM gxy_school WHERE is_deleted=0 AND is_deleted = ? AND ( school_name = ? OR school_code = ? ) 
对应的java 代码:
   QueryWrapper<GxySchoolDto> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_deleted",0);
queryWrapper.and(wrapper -> wrapper.eq("school_name",schoolEntity.getSchoolName()).or().eq("school_code",schoolEntity.getSchoolCode()));
GxySchoolDto isByName = gxySchoolMapper.selectOne(queryWrapper);

5. in 语句:

        QueryWrapper<NoticeTodoDto> queryWrapper = new QueryWrapper();
queryWrapper.eq("snow_flake_id",gxyTodoDto.getSnowFlakeId());
queryWrapper.eq("object_id",gxyTodoDto.getObjectId());
queryWrapper.in("state",1,2);
NoticeTodoDto todoDto= noticeTodoMapper.selectOne(queryWrapper);
return todoDto;

6. 刪除

接口:

@Mapper
public interface GxyPlanDepMapper extends BaseMapper<GxyPlanDepDto> { } Bean:
@Data
@TableName("gxy_plan_dep")
public class GxyPlanDepDto implements Serializable {
private static final long serialVersionUID = 1L; private int isDeleted;
/**
* 创建时间
*/
private Date createTime;
/**
* 唯一主键
*/
@TableId(value = "plan_dep_id",type = IdType.UUID)
private String planDepId;
/**
* 计划Id
*/
private String planId;
/**
* 系部id
*/
private String depId;
}

实现层:

planDepMapper.delete(new QueryWrapper<GxyPlanDepDto>().eq("plan_id",teacherStudentEntity.getPlanId()));

SQL:

DELETE FROM gxy_plan_dep
WHERE plan_id = ? ::: [a7637ddc0cafd26278ffc4be12262054]

7 修改

 GxyPlanTeacherStudentDto dto = new GxyPlanTeacherStudentDto();
dto.setBackup(teacherStudentEntity.getPlanId());
dto.setPlanId(teacherStudentEntity.getNewPlanId());
dto.setTeacherId(teacherStudentDto.getTeacherId());
dto.setJobId(teacherStudentDto.getJobId());
dto.setCompanyName(teacherStudentDto.getCompanyName()); QueryWrapper wrapper = new QueryWrapper<GxyPlanTeacherStudentDto>().eq("plan_teacher_student_id", teacherStudentDto.getPlanTeacherStudentId()).eq("snow_flake_id", teacherStudentEntity.getSnowFlakeId());
planTeacherStudentMapper.update(dto,wrapper);

根据  wrapper  的条件,查出记录, 修改 dto 中的字段。

当在 bean 中加了 @TableField(strategy= FieldStrategy.IGNORED) 注解,当 dto 中 该字段是null 时,update 修改该字段, 表中该字段也改成null 。 如果不加这个注解,当dto 中 该字段是null 时, update 语句不修改该字段。

@TableField(strategy= FieldStrategy.IGNORED)
private String jobId; 8: 分页查询
Page page = new Page(teacherStudentEntity.getCurrPage(),teacherStudentEntity.getPageSize());

        IPage<GxyMultiStudentPlanTmpDto> page1 =
multiStudentPlanTmpMapper.selectPage(page, new QueryWrapper<GxyMultiStudentPlanTmpDto>()
.eq("create_by",teacherStudentEntity.getUserId())
.eq("is_deleted",0)); List<GxyMultiStudentPlanTmpDto> list = page1.getRecords();
return ListResponse.resList(list,page1.getTotal());

9: mybatis  查询可以返回Set 或者List:

  Mapper:

Set<String> selectMyStudent(@Param("params") GxyPlanTeacherStudentEntity planTeacherStudentEntity);

XML:
<select id="selectMyStudent" resultType="java.lang.String">
SELECT pstu.student_id
from gxy_plan_teacher_student AS pstu LEFT JOIN gxy_plan AS p ON pstu.plan_id = p.plan_id
WHERE pstu.is_deleted = 0
<choose>
<when test="params.planId != null and params.planId != ''">
AND pstu.plan_id = #{params.planId}
</when>
<otherwise>
and p.plan_state = 1
</otherwise>
</choose> <if test="params.teacherId !='' and params.teacherId!=null">
AND pstu.teacher_id = #{params.teacherId}
</if>
<if test="params.position != null and params.position !=''">
AND FIND_IN_SET(#{params.position},t.position)
</if>
</select>
AND position LIKE  concat('%',#{roleName},'%')

10. 修改 , 根据 QueryWrapper 条件查询出所有的记录 后 修改 dto 实体中设置的字段 
      MoguDeliverDto dto= new MoguDeliverDto();
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("user_id",deliver.getUserId());
dto.setAcceptOffer(0);
moguDeliverMapper.update(dto,queryWrapper);

UPDATE mogu_deliver SET accept_offer=?, modified_time=? WHERE is_deleted=0 AND user_id = ?


dto

mybatisplus的更多相关文章

  1. 2、SpringBoot+MybatisPlus整合-------BaseCRUD

    开发工具:STS 代码下载链接:GitHub管理代码 版本: Springboot:1.5.14.RELEASE 使用2.0以上的Springboot,会报出一些异常.欢迎知道异常原因的大牛解惑. M ...

  2. 使用 Mybatis-plus 进行 crud 操作

    1 Mybatis-Plus简介 1.1 什么是Mybatis-Plus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化 ...

  3. SpringCloud或SpringBoot+Mybatis-Plus利用mybatis插件实现数据操作记录及更新对比

    引文 本文主要介绍如何使用mybatis插件实现拦截数据库操作并根据不同需求进行数据对比分析,主要适用于系统中需要对数据操作进行记录.在更新数据时准确记录更新字段 核心:mybatis插件(拦截器). ...

  4. SpringBoot图文教程11—从此不写mapper文件「SpringBoot集成MybatisPlus」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  5. 赶紧收藏吧!MyBatis-Plus万字长文图解笔记,错过了这个村可就没这个店了

    简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生 愿景 我们的愿景是成为 MyBatis 最好的搭档 ...

  6. maven 打包含有第三方依赖的 jar 包

    maven 打包含有第三方依赖的 jar 包:mvn assembly:assembly

  7. Maven打包含有Main方法jar并运行

    最近使用Kettle做定时数据抽取,因为Job更新或需求变更,修改Bug等种种原因,需要对重跑Job一般是针对每天的数据重跑一次.刚开始的做法是直接在自己的开发机器上重跑,这样速度比较慢,因为这时候你 ...

  8. 怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

  9. WordPress上传含有中文文件出现乱码

    最近打算学习安装配置WordPress,当然同时也在学习PHP+MySQL,希望以后能做一些关于WordPress定制和二次开发,包括主题和插件.在成功安装WordPress3.5中文版之后,就测试了 ...

  10. [ jquery 过滤器 hasClass(class) ] 此方法用于在选择器的基础之上检查当前的元素是否含有某个特定的类,如果有,则返回true

    此方法用于在选择器的基础之上检查当前的元素是否含有某个特定的类,如果有,则返回true 实例: <!DOCTYPE html> <html lang='zh-cn'> < ...

随机推荐

  1. linux kill某一用户的所有tomcat进程

    1.查看Tomcat进程 ps -ef|grep tomcat  显示当前所有进程: ps -ef|grep tomcat-web  进程中有不同的进程,查询全名,精准kill. 2.根据进程号kil ...

  2. SqlServer和Oralce保留几位小数以及当末尾小数为0也显示

    需求描述:对数字类型值保留2位小数,当2位小数末尾出现0时也显示 SqlServer处理方法: 1.首先通过Round函数保留2位有效数字,多出的位数值变成0 2.通过Cast函数转成decimal( ...

  3. python_tkinter组件摆放方式

    1.最小界面组成 # 导入tkinter模块 import tkinter # 创建主窗口对象 root = tkinter.Tk() # 设置窗口大小(最小值:像素) root.minsize(30 ...

  4. RunTime.getRunTime().addShutdownHook 添加钩子

    Runtime.getRuntime().addShutdownHook(shutdownHook); google了一下它的含义:在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设 ...

  5. struts2提交表单注意事项 (3)

    供应商模块 需求:实现供应商的列表.添加.修改.删除三个功能 注意:修改时,不允许修改供应商编号 添加时,不允许显现的添加供应商编号 删除时,进行逻辑删除(根据主键将该条数据不再显示在列表) 物理删除 ...

  6. Map遍历效率 : entrySet > keySet

     1    //entrySet()  2     for (Entry<String, String> entry : map.entrySet()) {  3         Stri ...

  7. python不换行输出

    python默认的print是换行输出的.要想实现不换行输出,方法如下: python 2.X版本: print('要在print后面加个逗号-> , '), python 3.X版本: pri ...

  8. HDU 6046 - hash | 2017 Multi-University Training Contest 2

    思路来自题解和一些博客 最麻烦的是样例没啥用- - /* HDU 6046 - hash [ hash,鸽巢 ] | 2017 Multi-University Training Contest 2 ...

  9. 解决document.getElementById("")在IE7中误读成name的bug

    <!DOCTYPE html>      <html lang="en">      <head>          <meta char ...

  10. 2、创建MFC应用程序——基于对话框,时间计时器

    使用计时器更新MFC界面时间,频率1s. 文件——新建项目——MFC应用程序,下一步,选择基于对话框,其他默认,完成. 双击窗体(或者鼠标右键)进入类向导,自动创建Ontimer()函数 void C ...