Spring Boot 整合MyBatis-Plus 详解
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

全新的 MyBatis-Plus 3.0 版本基于 JDK8,提供了 lambda 形式的调用,所以安装集成 MP3.0 要求如下:
- JDK 8+
- Maven or Gradle
- Spring Boot 2.5+
- MySql、Oracle、SQLServer、、
一、数据表设计
| ID | Name | Sex | Age | Grade |
| 1 | 小明 | 男 | 12 | 6 |
| 2 | 小红 | 女 | 11 | 6 |
建表语句如下:
DROP TABLE IF EXISTS `user`;CREATE TABLE `user`
(id BIGINT NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',sex VARCHAR(30) NULL DEFAULT NULL COMMENT '性别',age INT NULL DEFAULT NULL COMMENT '年龄',grade VARCHAR(50) NULL DEFAULT NULL COMMENT '年级',PRIMARY KEY (id)
);
然后插入数据:
INSERT INTO `user` (id, name, age, email) VALUES
(1, '小明', '男',12, 6),
(2, '小红', '女',11, 6),
二、开发实例
1、引入依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.5</version><relativePath/></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.4<version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency></dependencies>
2、配置数据源
在application.yaml 中配置相关配置信息:
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/Dokerusername: rootpassword: root
3、开发实例
3.1 实体类
@Data
@TableName("`user`")
public class User {@TableId(type = IdType.AUTO)private Long id;@TableField("name")private String name;private String sex;private Integer age;private String grade;
}
TableName:
- 描述:表名注解,标识实体类对应的表
- 使用位置:实体类
TableId:
- 描述:主键注解
- 使用位置:实体类主键字段
TableField:
- 描述:字段注解(非主键)
3.2 UserMapper接口
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.UserMapper">SELECT * FROM `user` WHERE `name` = #{name}
</mapper>
public interface UserMapper extends BaseMapper<User> {@Select("select * from user")List<User> getAllUser();}
3.3 Service层接口
import com.baomidou.mybatisplus.extension.service.IService;// UserService 继承 IService 接口
public interface UserService extends IService<User>{List<User> getAllUser();
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Autowiredprivate UserMapper userMapper;public List<User> getAllUser(){return userMapper.getAllUser();}
}
3.4 在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:
@SpringBootApplication
@MapperScan("com.mapper")
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}
相关文章:
Spring Boot 整合MyBatis-Plus 详解
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 全新的 MyBatis-Plus 3.0 版本基于 JDK8,提供了 lambda 形…...
【前端】让列表像Excel单元格一样编辑
前言 领导说了一堆的话,最后总结一句就是客户很懒,客户的员工更加懒。 本着让别人节省时间的原则,提倡出了让列表和Excal的单元格一样,不仅看数据还可以随时更改数据。 查资料 根据 Jeecg-Vue3 源码介绍,从而知道是基于 Vben Admin 开源项目进行改造的。 因此在 Vben…...
数字图像处理-Matlab实验
实验一 图像增强 实验内容: 对于给定的低对比度测试图像,利用灰度图像直方图均衡化算法进行图像视觉效果增强。 对于给定的低照度彩色测试图像,结合颜色空间转换和灰度图像直方图均衡化算法进行图像视觉效果增强。 实验数据: Test1_1.jpg: Test1_2.jpg: 实验步骤: %% …...
Nginx:配置文件详解
一、Nginx配置文件 main配置段:全局配置 events段:定义event工作模式 http {}:定义http协议配置 支持使用变量: 内置变量:模块会提供内建变脸定义 自定义变量:set var_name value 二、 主…...
卷积,是什么?
其实就是对事物的作用,或者说作用力,比如说,石板上没有字,我们刻上字,便于识别,从机器视觉角度来说,就是对图像的作用力,这种作用使得能看清想要的东西,感觉还是很主观&a…...
Javascript的闭包有哪些应用?
JavaScript 中的闭包是一种强大的特性,它可以用于多种应用。以下是一些闭包在 JavaScript 中的常见应用: 1、封装私有变量: 通过闭包,可以创建私有变量和方法。外部作用域无法直接访问闭包内的变量,从而实现了信息隐藏…...
LCM-LoRA模型推理简明教程
潜在一致性模型 (LCM) 通常可以通过 2-4 个步骤生成高质量图像,从而可以在几乎实时的设置中使用扩散模型。 来自官方网站: LCM 只需 4,000 个训练步骤(约 32 个 A100 GPU 小时)即可从任何预训练的稳定扩散 (SD) 中提取出来&#…...
设计模式-开篇
什么是设计模式 设计模式是一种被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、提高代码的可靠性。设计模式不是可直接转化为代码的完成解决方案,而是描述了如何解决一个问题的经过…...
HashMap的实现原;HashMap的工作原理;HashMap存储结构; HashMap 构造函数
文章目录 说一下HashMap的实现原理(非常重要)①HashMap的工作原理HashMap存储结构常用的变量HashMap 构造函数tableSizeFor() put()方法详解hash()计算原理resize() 扩容机制get()方法为什么HashMap链表会形成死循环 HashMap是我们在工作中使用到存储数据特别频繁的数据结构&am…...
JavaScript 原型,原型链的特点
JavaScript 的原型(Prototype)和原型链(Prototype chain)是 JavaScript 面向对象编程中的重要概念。 原型(Prototype) 在 JavaScript 中,每个对象都有一个原型对象,而这个原型对象…...
越南服务器租用:企业在越南办工厂的趋势与当地(ERP/OA等)系统部署的重要性
近年来,越南逐渐成为全球企业布局的热门目的地之一。许多企业纷纷选择在越南设立工厂,以利用其低廉的劳动力成本和优越的地理位置。随着企业在越南的扩张,对于当地部署ERP系统或OA系统等的需求也日益增长。在这种情况下,租用越南服…...
Qt QString与QChar总结
(一) QString 1 QString的简介 QString 是Qt 中的一个类,用于存储字符串,QString 没有父类。QString 存储的是一串字符,每个字符是一个 QChar 类型的数据。QChar 使用的是 UTF-16 编码,一个字符包含 2字节数据。 对于超过 6553…...
Leetcode算法系列| 1. 两数之和(四种解法)
目录 1.题目2.题解解法一:暴力枚举解法二:哈希表解法解法三:双指针(有序状态)解法四:二分查找(有序状态) 1.题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数…...
汇编-pop出栈指令
32位汇编 执行动作分为两步: 第一步:读出数据 第二步:改变栈地址 如果操作数是16位, 则ESP加2; 如果操作数是32位, 则ESP加4 espesp2 或 espesp4 格式:...
【代码】基于VMD(变分模态分解)-SSA(麻雀搜索算法优化)-LSTM的光伏功率预测模型(完美复现)matlab代码
程序名称:基于VMD(变分模态分解)-SSA(麻雀搜索算法优化)-LSTM的光伏功率预测模型 实现平台:matlab 代码简介:提出了变分模态分解(VMD)和麻雀搜索算法(SSA)与长短期记忆神经网络 (LSTM)相耦合,…...
【UnLua】在 Lua 中定义 UE 反射类型
【UnLua】在 Lua 中定义 UE 反射类型 用法 启动编辑器时遍历 Defines 目录下 lua 脚本来加载 UE 反射类型(开个临时的 Lua VM 即可)直接像 -- define a uenum in lua UEnum.EEnumGuestSomethingElse {Value1 1;Value2 2; }-- use it like a native …...
react的开发中关于图片的知识
React是一个流行的JavaScript库,用于构建用户界面。在React开发中,图片是一个非常重要的元素,可以用于美化界面和展示内容。本篇博客将详细讲解React中关于图片的知识。 1. React中使用图片 在React中使用图片非常简单,只需要使…...
AcWing 188:武士风度的牛 ← BFS
【题目来源】https://www.acwing.com/problem/content/190/ 【题目描述】 农民 John 有很多牛,他想交易其中一头被 Don 称为 The Knight 的牛。 这头牛有一个独一无二的超能力,在农场里像 Knight 一样地跳(就是我们熟悉的象棋中马的走法&…...
马养殖场建设VR模拟实训教学平台具有灵活性和复用性
为保障养殖场生物安全,避免疫病传播,学生出入养殖场受时间和地域的限制, 生产实习多以参观为主,通过畜牧企业技术人员的讲解,学生被动了解生产过程。为了解决畜牧养殖实训难的问题,借助VR技术开展畜牧养殖虚…...
云原生技术演进之路-(云技术如何一步步演进的,云原生解决了什么问题?)
云技术如何一步步演进的? 云原生解决了什么问题? 物理设备 电脑刚被发明的时候,还没有网络,每个电脑(PC),就是一个单机。 这台单机,包括CPU、内存、硬盘、显卡等硬件。用户在单机…...
抖音无水印视频批量下载:3分钟快速上手完整指南
抖音无水印视频批量下载:3分钟快速上手完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...
国家电网投标人的福音:一个专治ECP压缩包痛点的轻量工具
你是不是也受够了? 每天蹲守国家电网ECP平台,点开标包看到的却是层层嵌套的压缩包——.zip 里套 .zip,.zip里混着 .doc 和 .docx和.xlsx .xls。想判断一个项目能不能投,光下载解压就要花一小时。更头疼的是,市面上 乙方…...
ComfyUI极速上手指南:零基础搭建高效AI绘图工作流
1. ComfyUI初印象:为什么选择这个AI绘图神器 第一次接触ComfyUI时,我完全被它独特的节点式操作方式吸引了。与常见的WebUI不同,ComfyUI把整个AI绘图过程拆解成一个个可视化模块,就像搭积木一样自由组合。这种设计理念让创作过程变…...
超元力VR大空间:以技术为桥,解锁沉浸式体验新可能
当数字技术逐渐融入日常生活,人们对体验的需求不再局限于“观看”,而是渴望“参与”和“沉浸”。超元力VR大空间,打破了传统VR体验的局限,以成熟的技术支撑和多元的内容呈现,让人们在有限的物理场地中,感受…...
Zotero插件市场:如何在Zotero 7+中一键发现和安装最佳插件?
Zotero插件市场:如何在Zotero 7中一键发现和安装最佳插件? 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zoter…...
7个终极技巧:使用ZIO设计可扩展的微服务架构
7个终极技巧:使用ZIO设计可扩展的微服务架构 【免费下载链接】zio ZIO — A type-safe, composable library for async and concurrent programming in Scala 项目地址: https://gitcode.com/gh_mirrors/zi/zio ZIO是一个类型安全、可组合的Scala异步并发编程…...
Wan2.2-I2V-A14B参数详解:duration/resolution/prompt长度对显存影响分析
Wan2.2-I2V-A14B参数详解:duration/resolution/prompt长度对显存影响分析 1. 模型与硬件环境概述 Wan2.2-I2V-A14B是一款先进的文生视频模型,能够根据文本描述生成高质量视频内容。本分析基于专为RTX 4090D 24GB显存优化的私有部署镜像环境,…...
CSS如何使用CSS Grid实现响应式网格_通过fr单位灵活布局
fr单位按剩余空间分配比例,需先扣除内容、gap等占用空间;minmax(0,1fr)防撑爆;IE不支持;响应式推荐auto-fitminmax;gap不跨层;命名线比数字线更可靠。fr单位到底怎么算,不是“等分”那么简单fr单…...
西门子1200伺服步进FB块程序西门子程序模板 程序内含两个FB,一个是scl写的,一个是梯形...
西门子1200伺服步进FB块程序西门子程序模板 程序内含两个FB,一个是scl写的,一个是梯形图,可以多轴多次调用,中文注释详细。 真实可用,经过在专用设备真实调试运行,可以直接应用到实际项目中,提供…...
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
PHPStorm 识别 Eloquent 属性类型依赖 property 注解,$casts 等运行时配置不参与静态分析;需配合 Laravel Idea 插件生成注解,并用 Larastan/ Psalm 插件增强类型检查。PHP 本身不支持 Eloquent 属性类型推断,Laravel 也不提供运行…...
