持久层框架MyBatisPlus

简介: 本节介绍MyBatisPlus,一款基于MyBatis的增强型ORM框架,简化单表增删改查操作。通过引入`mybatis-plus-boot-starter`并继承`BaseMapper`,即可实现无SQL的CRUD功能,显著提升开发效率。同时支持`@TableName`、`@TableId`、`@TableField`等注解,灵活处理表名、字段映射问题,让数据库操作更简洁、高效。(238字)

前面我们学习过的ORM[Object Relational Mapping(对象关系映射)]持久层框架MyBatis,它可以帮助我们完成单表、多表、动态SQL的业务逻辑处理,与之平级的还有Hibernate,和这节我们要学习的MyBatisPlus了。

1.快速入门
1.1 入门案例

首先我们根据提供的资料导入一下工程案例,一起看下实现下列功能的代码逻辑:
● 新增用户功能
● 根据id查询用户
● 根据id批量查询用户
● 根据id更新用户
● 根据id删除用户
代码执行流程如下:

当我们打开:UserMapper_20231023_150307.xml 文件后,可以看到熟悉的代码

但是我们不禁要思考一个问题,简单的单表的增删改查,他的SQL语句基本固定,这种是否可以优化呢?当然是可以的,这就是这一小节MP要做的事情。而要引入MP框架并应用起来,遵循下面的步骤即可。
1-引入MybatisPlus的起步依赖
MyBatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能,并且实现了自动装配效果。因此我们可以用MybatisPlus的starter代替Mybatis的starter:
● 原来的mybatis依赖可以删除掉


com.baomidou
mybatis-plus-boot-starter
3.5.3.1

2-继承BaseMapper
然后我们在自己的mapper接口中继承BaseMapper,并声明泛型对应的实体类就可以有常见的CRUD代码了。

接下来我们就用MP依次替代上述增删改查的原始代码
● 新增用户功能

● 根据id查询用户

● 根据id批量查询用户

● 根据id更新用户

● 根据id删除用户

整体改造完之后,我们就可以把之前:UserMapper_20231023_150307.xml 中的代码都删掉了,是不是很简洁

1.2 常见注解
通过上面的案例我们可以发现mp的使用很便捷,用户基本是无感知的,那他是如何做到表跟属性值的映射的呢?MyBatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息。

但是上述的都是正常情况,如果存在一些异常:如表名跟实体类不一样、实体类部分字段表中没有等,就可以通过一些常见注解来完成映射了,MybatisPlus中比较常用的几个注解如下:
● @TableName:用来指定表名
● @TableId:用来指定表中的主键字段信息
● @TableField:用来指定表中的普通字段信息
假设表结构如下

则对应的实体类可以映射如下

相关文章
|
1月前
|
Java 应用服务中间件 开发者
Spring Boot 4.0官宣: 弃用 Undertow:Tomcat笑麻了
Spring Boot 4.0.0 M2 正式移除 Undertow 内嵌支持,主因是其未适配 Servlet 6.1 规范,而 Spring Boot 4 强制依赖该规范。本文解析技术动因、迁移影响及平滑过渡方案(推荐切回 Tomcat 或改用 Jetty),助力开发者顺利升级。(239字)
Spring Boot 4.0官宣: 弃用 Undertow:Tomcat笑麻了
|
6月前
|
Linux Go iOS开发
Go语言100个实战案例-进阶与部署篇:使用Go打包生成可执行文件
本文详解Go语言打包与跨平台编译技巧,涵盖`go build`命令、多平台构建、二进制优化及资源嵌入(embed),助你将项目编译为无依赖的独立可执行文件,轻松实现高效分发与部署。
1114 162
|
1月前
|
安全 Java API
Spring Boot 4 升级实战:从3.x到4.0的分步升级保姆级指南
Spring Boot 4.0于2025年11月发布,基于Spring Framework 7.0,实现模块化(47个轻量自动配置)、JSpecify空安全校验、原生API版本控制等重大升级。镜像减19%、启动快33%,迁移平滑,3.5.x支持至2026年11月。(239字)
|
SQL 监控 druid
p6spy【SpringBoot集成】使用p6spy-spring-boot-starter集成p6spy监控数据库(配置方法举例)
p6spy【SpringBoot集成】使用p6spy-spring-boot-starter集成p6spy监控数据库(配置方法举例)
3626 0
|
IDE Java 测试技术
IDEA安装并使用通义灵码
本文介绍了“通义灵码”这一智能编码助手的功能特点,并提供了在IDEA中安装和使用的详细步骤,旨在帮助提升编程效率和代码质量。
IDEA安装并使用通义灵码
|
人工智能 自然语言处理 搜索推荐
阿里云 AI 搜索产品荣获 Elastic Innovation Award 2024
在新加坡 ElasticON 2025 的 Elastic 合作伙伴峰会上,阿里云 AI 搜索产品荣获 Elastic Innovation Award 2024!
689 1
|
Java 数据库 Spring
springBoot 整合 hikari
springBoot 整合 hikari
987 6
vscode快速生成vue2及vue3模版
vscode快速生成vue2及vue3模版
vscode快速生成vue2及vue3模版
|
XML JSON Java
Spring Boot添加消息转换器HttpMessageConverter
spring boot添加消息转换器HttpMessageConverter
3524 0
Spring Boot添加消息转换器HttpMessageConverter
|
安全 Java 开发者
如何解决Java中的ClassCastException异常
如何解决Java中的ClassCastException异常

热门文章

最新文章