Mybatis_plus笔记

在使用mybatis_plus的过程中我们可以明显的感受到他的强大之处。它就像是Mybatis和Jpa的结合体一样,它拥有jpa对单表的各种CRUD操作以及强大的条件构造器,同时它还具备着mybatis原有的灵活性,实在是我们的不二之选。
mybatis_plus官方文档地址:https://mp.baomidou.com/

使用

使用mybatis_plus需要导入的依赖是

 <dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>Latest Version</version>
</dependency>

其他的依赖与在使用mybatis时一致即可,除了将mybatis的依赖更改为这个。
然后是添加注解,和使用mybatis时是相同的方式添加注解。如在启动类上的@MapperScan(“com.crm.mapper”)一样。但mybatis-plus在实体类上有与mybatis不同的地方,mybatis-plus在实体类有一些注解可以帮助我们便捷的完成实体类与数据库之间的映射关系。

一,实体类注解

最常用到的有三个:

@TableName(value =“table_name”)

当数据库名与实体类名不一致或不符合驼峰命名时,需要在此注解指定表名。

@TableId(value=“t_id”)

指定实体类的属性为对应的主键,有六种主键策略:
1,IdType.AUTO //主键自增
2,IdType.NONE //默认状态,该类型为未设置主键类型
3,IdType.INPUT // 用户输入ID
4, IdType.ID_WORKER //全局唯一ID (idWorker)
5,IdType.UUID //全局唯一ID (UUID)
6,IdType.ID_WORKER_STR //字符串全局唯一ID (idWorker 的字符串表示)

@TableField注解

1,@TableField(value = “”) //用来解决数据库中的字段和实体类的字段不匹配问题
2,@TableField(exist = false) //用来解决实体类中有的属性但是数据表中没有的字段

二,配置日志输出

作为一个程序员,程序报错是很正常的事,对吧。而在报错的时候如果能获取到比较详细的程序所执行sql的信息,那对我们的找错改正是很有帮助的。而mybatis-plus中的日志输出就可以满足我们的需要,其输出的日志信息比mybatis的日志详细很多,配置它却只需要在application中添加一行代码即可

mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

效果图

三,Mapper和service以及ServiceImpl

1,mapper

在使用mybatis-plus的项目中编写mapper接口时需要继承BaseMapper

2,service

service需要继承IService

3,serviceImpl

serviceImpl需要继承ServiceImpl<ModuleMapper, Modules>

当我们写好这些注解后在controller中如果想调用单表的增删改查的话便可以直接用mapper或者serviceImpl来调用mybatis-plus封装好的方法。

四,条件查询器wrapper

在使用mybatis-plus进行多条件查的时候我们需要了解wrapper这个东西,他会将我们的条件进行处理后添加在sql语句的后面,不仅仅是mybatis-plus中封装好的查询方法中可以用,在我们自定义的方法中也都可以使用。接下来我便介绍一下wrapper。

首先我们需要先声明wrapper。

wrapper有两个子类QueryWrapper和UpdateWrapper
一般查询是使用QueryWrapper,修改是使用UpdateWrapper。不建议直接使用wrapper。声明wrapper很简单就和上图一样。

使用wrapper

查询条件是有很多种的比如相等,大于,模糊,,,等等。
那在用wrapper时怎么区分各种条件呢,很简单,wrapper有许多个方法分别代表了这些条件。
如eq / /相等

ne //不等

诸如此类的还有很多大家可以直接访问mybatis-plus的官网来查看

自定义查询中wrapper的使用
1,用注解

2,用xml

Mybatis_plus笔记的更多相关文章

  1. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  7. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  8. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  10. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. 11k+ Star 一款更适合中国用户的开源 BI 工具

    在当今数字化时代,数据分析和可视化成为企业决策和发展的重要支撑,很多 BI 工具昂贵的许可费用,让许多中小型企业用户和个人用户望而却步,开源 BI 工具的出现,让其成为很多用户进行数据分析展示的首选. ...

  2. clickhouse使用入门

    转载请注明出处(- ̄▽ ̄)-严禁用于商业目的的转载- 导语:同学,你也不想你根本不懂ClickHouse,却赶鸭子上架使用的事情被其他人知道吧? 写在前面:本文旨在让原先有一定SQL基础的人快速简单了 ...

  3. 「学习笔记」KMP 算法

    前置知识 前缀 是指从串首开始到某个位置 \(i\) 结束的一个特殊子串. 真前缀 指除了 \(S\) 本身的 \(S\) 的前缀. 举例来说, 字符串 abcabeda 的所有前缀为 {a, ab, ...

  4. Js中几种循环的使用

    在JavaScript中有五种常用的循环,现在来分别介绍一下五种循环的用法. 1.while 当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:while(表达 ...

  5. CS144 LAB5~LAB6

    CS144 lab5~6 最后两个lab了,虽然很多大佬都说剩下的两个lab比起TCP的实现,"简直太简单了",但是我认为做这两个之前需要补充一些额外的网络知识,不然直接上手去做的 ...

  6. SpringBoot整合WebService(实用版)

    SpringBoot整合WebService 简介 WebService就是一种跨编程语言和跨操作系统平台的远程调用技术 此处就不赘述WebService相关概念和原理了,可以参考:https://b ...

  7. java使用apache.poi导出word文件

    功能说明: 将试卷导出word,并可以打印,装订,效果图: 下面是实现代码: package com.xxxxx.business.course.utils; import com.alibaba.f ...

  8. PHP插件

  9. ValueError: Max value is 14 解决方案

    方案一(有时会失效): 将EXCEL文件中的格式全部清除即可.最好是复制,然后只粘贴值. 方案二(指定引擎): data = pd.read_excel(path, engine="open ...

  10. 26194136 psu安装步骤

    26194136 psu安装步骤 1.拷贝 安装包p26194136_112040_MSWIN-x86-64.zip到 目录 2..关闭rac crsctl stop crs srvctl stop ...