Mybatis_plus笔记
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笔记的更多相关文章
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- GPT3的应用领域:机器翻译、文本生成、文本摘要
目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成与测试 4. 应用示例与代码实现讲解 4.1 机器翻译 4.2 文 ...
- JVM中的-Xms 、-Xmx 参数该如何设置
在 Java 虚拟机(JVM)中,-Xms 和 -Xmx 都是用来设置 JVM 堆内存大小的参数.其中,-Xms 用于设置 JVM 启动时分配的初始堆内存大小,而 -Xmx 用于设置 JVM 堆内存的 ...
- 痞子衡嵌入式:从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制. 我们知道配合 MCU 一起工作的存储器包含 ROM(Flash) 和 ...
- 创建 Code Interpreter Demo: 一次实践的探索
好消息,好消息,Code Interpreter可以测试使用了!!! 在这篇文章中,我们将探索如何创建一个 Code Interpreter Demo.提交一个2023年1-5月份的融资记录数据,让它 ...
- 【爬虫案例】用Python爬取知乎热榜数据!
目录 一.爬取目标 二.编写爬虫代码 三.同步讲解视频 3.1 代码演示视频 3.2 详细讲解视频 四.获取完整源码 一.爬取目标 您好,我是@马哥python说,一名10年程序猿. 本次爬取的目标是 ...
- ISP图像处理之Demosaic算法及相关
CFA及Demosaic介绍 1.Bayer(拜耳滤波器得到彩色) 图像在将实际的景物转换为图像数据时, 通常是将传感器分别接收红. 绿. 蓝三个分量的信息, 然后将红. 绿. 蓝三个分量的信息合成彩 ...
- Linux切换Root权限配置和无法切换排查
1.wheel组 普通用户禁止su切换root 在默认的情况下,普通用户通过su可以切换到root用户下,为了加强系统安全性,使用Linux的特殊用户组wheel来实现,只有用户加入到wheel组当中 ...
- 【WebGL系列-02】创建program上下文
WebGL程序program对象的创建 program对象由顶点着色器对象和片元着色器对象构成,因此,创建program对象包含了两部分,一个是着色器对象的创建,一个是program对象的创建. 总体 ...
- mysql中使用sql语句统计日志计算每天的访问量
日志建表语句: CREATE TABLE `syslog` ( `syslogid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) ...
- 沃罗诺伊图 (Voronoi diagram)
沃罗诺伊图 (Voronoi diagram) Introduction: what is voronoi diagram? 沃罗诺伊图 (Voronoi diagram),取名自俄罗斯数学家乔治·沃 ...