持久层框架MyBatisPlus

简介: 本节介绍MyBatisPlus(MP)快速入门,通过继承BaseMapper并引入MP依赖,简化单表增删改查操作,替代传统MyBatis的重复SQL编写,提升开发效率,实现CRUD零XML配置。

前面我们学习过的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 常见注解

相关文章
|
5月前
|
弹性计算 定位技术 数据安全/隐私保护
3分钟部署mc我的世界联机服务器教程——阿里云游戏服务器
我的世界是一款沙盒游戏,玩家可在三维空间中自由创造与探索。阿里云推出一键部署镜像服务,支持快速搭建游戏服务器。提供多种配置选择,包括4核16G和8核32G,费用分别为89元和160元每月,助力玩家轻松畅玩。
|
21小时前
|
存储 Ubuntu Linux
容器化部署引擎Docker
本节介绍Docker技术,解决微服务部署中环境不一致、依赖冲突等问题。通过镜像打包应用及依赖,容器隔离运行,实现跨环境无缝迁移。相比虚拟机,Docker更轻量、启动更快、资源占用少。讲解其核心概念:镜像、容器、仓库,以及Docker Hub等镜像管理服务,帮助开发者高效交付应用。
|
1天前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
本节介绍MyBatisPlus,一款基于MyBatis的增强型ORM框架,简化单表增删改查操作。通过引入`mybatis-plus-boot-starter`并继承`BaseMapper`,即可实现无SQL的CRUD功能,显著提升开发效率。同时支持`@TableName`、`@TableId`、`@TableField`等注解,灵活处理表名、字段映射问题,让数据库操作更简洁、高效。(238字)
|
21小时前
|
存储 运维 Java
微服务概述
单体应用功能集中,模块耦合度高,维护扩展困难;微服务则将应用按业务拆分为独立服务,各服务可独立开发、部署、扩展,技术栈灵活,边界清晰,提升系统可靠性与可维护性,但带来运维、分布式事务等挑战。
|
1天前
|
XML Java 数据格式
@Configuration
被 `@Configuration` 标注的类视为Spring配置类,等同于XML配置文件。通过 `@Bean` 可定义Bean,替代XML中的 `<bean>` 标签。结合 `AnnotationConfigApplicationContext` 可启动IOC容器,加载并管理配置类及其中的Bean实例。
|
1天前
|
存储 安全 前端开发
RememberMe简介及用法
RememberMe功能实现用户关闭浏览器后仍保持登录状态,基于服务端机制而非保存账号密码。通过Cookie存储令牌(remember-me),后续请求自动携带并校验,实现免重复登录。但令牌泄露存在安全风险,可通过持久化Token至数据库并增加二次校验提升安全性,避免非法访问。
|
21小时前
|
安全 Java Maven
工程搭建与验证
通过阿里云脚手架快速创建Spring Boot项目,结合Initializr生成基础工程,支持Maven/Gradle。本文演示如何导入IDEA、整合Spring Security,验证登录认证,并获取完整代码(GitHub仓库:Herbbbb/SpringSecurity,分支:Day01)。
|
23小时前
|
安全 Java 应用服务中间件
认识SpringSecurity
Spring Security 是基于过滤器链的鉴权框架,核心功能包括认证(支持表单、OAuth2、JWT等)、鉴权(URL、方法级、RBAC等)及防御CSRF等攻击。通过FilterChainProxy与DelegatingFilterProxy集成到Web容器,实现灵活的安全控制与异常处理。
|
1天前
|
缓存 Java 数据库连接
汇总
本文介绍MyBatis核心配置与映射规则,涵盖属性加载优先级、常见配置项、多环境数据源设置及事务管理机制,并详解XML中一对一、一对多、多对一关系的映射实现方式,助力高效开发。
|
1天前
|
NoSQL Java MongoDB
ongoDB实战演练
本项目实现头条文章评论功能,基于SpringDataMongoDB操作MongoDB数据库,支持评论的增删改查、按文章ID查询及点赞功能。构建article微服务模块,设计Comment实体类,封装评论信息,集成mongodb-driver驱动,完成持久化操作。