2026/3/30 11:34:00
网站建设
项目流程
贡井区建设局网站,沧州做网站的专业公司,浙江城乡住房建设厅网站,立邦刷新服务多少钱一平米MyBatis-Plus 快速入门与核心用法总结
#x1f4da; 目录#xff08;点击跳转对应章节#xff09;
一、前言 二、环境准备 三、MyBatis-Plus 快速开始 四、MyBatis-Plus 核心原理 五、常用注解详解 六、MyBatis-Plus 常用配置 七、手写 SQL 支持 八、总结 一、前言
在日常…MyBatis-Plus 快速入门与核心用法总结 目录点击跳转对应章节一、前言二、环境准备三、MyBatis-Plus 快速开始四、MyBatis-Plus 核心原理五、常用注解详解六、MyBatis-Plus 常用配置七、手写 SQL 支持八、总结一、前言在日常开发中单表 CRUD 是最常见、也是最重复的工作。MyBatis 虽然灵活但通常需要编写大量 Mapper XML 或注解 SQL开发效率较低。MyBatis-Plus简称 MP是在 MyBatis 基础上的增强框架提供了通用 CRUD 能力在不影响原有功能的前提下大幅减少样板代码提高开发效率。本文将从以下几个方面对 MyBatis-Plus 的核心用法进行总结环境准备快速入门核心原理常用注解常用配置手写 SQL 支持二、环境准备数据源配置在application.yaml中配置数据库连接信息spring:datasource:url:jdbc:mysql://127.0.0.1:3306/mp?useUnicodetruecharacterEncodingUTF-8autoReconnecttrueserverTimezoneAsia/Shanghaidriver-class-name:com.mysql.cj.jdbc.Driverusername:rootpassword:MySQL123logging:level:com.itheima:debugpattern:dateformat:HH:mm:ss三、MyBatis-Plus 快速开始1. 引入依赖MyBatis-Plus 提供了官方 Starter已集成 MyBatis 自动装配功能可直接替换 MyBatis Starter。dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3.1/version/dependency完整依赖示例如下dependenciesdependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3.1/version/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies2. 定义 MapperMyBatis-Plus 提供了通用接口BaseMapperT内置了常见的单表 CRUD 方法。自定义 Mapper 只需继承BaseMapperpackagecom.itheima.mp.mapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.itheima.mp.domain.po.User;publicinterfaceUserMapperextendsBaseMapperUser{}无需编写 XML 或 SQL即可直接使用通用 CRUD 方法。3. CRUD 操作说明MyBatis-Plus 提供的常用 CRUD 方法包括insert插入数据selectById根据 ID 查询selectBatchIds批量查询updateById根据 ID 更新deleteById根据 ID 删除上述方法均由 MyBatis-Plus 自动实现可直接调用显著减少 XML 编写。四、MyBatis-Plus 核心原理MyBatis-Plus 通过实体类PO推断数据库表结构默认遵循以下约定实体类名驼峰映射为表名下划线实体属性名驼峰映射为字段名下划线名为id的属性默认作为主键在实际项目中若数据库设计不完全符合约定规则可通过注解进行精确映射。五、常用注解详解1. TableName作用指定实体类对应的数据库表名使用位置实体类TableName(user)publicclassUser{privateLongid;}常用属性value表名schema数据库 schemaautoResultMap是否自动构建 ResultMapexcludeProperty排除字段2. TableId作用指定主键字段使用位置实体类主键属性TableId(typeIdType.AUTO)privateLongid;常见主键策略AUTO数据库自增INPUT手动设置ASSIGN_ID雪花算法生成 Long 类型主键默认3. TableField作用声明普通字段映射关系常见使用场景属性名与字段名不一致isXXX命名的布尔字段字段名是数据库关键字实体中存在非表字段示例TableField(is_married)privateBooleanmarried;TableField(existfalse)privateStringextraInfo;六、MyBatis-Plus 常用配置1. 全局配置mybatis-plus:type-aliases-package:com.itheima.mp.domain.poglobal-config:db-config:id-type:auto配置说明type-aliases-package实体类别名扫描路径id-type全局主键策略2. Mapper XML 扫描路径MyBatis-Plus 支持手写 SQL默认 XML 扫描路径如下mybatis-plus:mapper-locations:classpath*:/mapper/**/*.xml七、手写 SQL 支持在mapper目录下创建UserMapper.xmlmappernamespacecom.itheima.mp.mapper.UserMapperselectidqueryByIdresultTypeUserSELECT * FROM user WHERE id #{id}/select/mapper在UserMapper接口中声明对应方法即可与 MyBatis-Plus 自动 CRUD 方法混合使用。八、总结MyBatis-Plus 在不破坏 MyBatis 原有特性的前提下提供了高效、简洁的单表操作能力包括通用 CRUD 自动实现灵活的注解配置合理的默认约定对 XML 与手写 SQL 的完全兼容在实际开发中大多数单表操作可以直接通过 MyBatis-Plus 完成能够显著减少重复代码提高整体开发效率。