数据库持久化操作是SpringBoot项目核心刚需,传统SpringBoot整合原生MyBatis开发,需要手动编写大量重复CRUD SQL语句、手动封装实体映射、手动编写分页查询逻辑,代码冗余量大、开发效率低下,且重复代码易出现SQL书写错误。MyBatis-Plus作为MyBatis增强工具,无侵入、无改动原生MyBatis功能,内置通用CRUD封装、分页插件、条件构造器、自动主键生成、逻辑删除等超强功能,大幅简化数据库开发代码,提升开发效率50%以上,是目前企业SpringBoot数据库开发主流标配技术栈。本文从零手把手实操SpringBoot整合MyBatis-Plus,涵盖环境搭建、配置编写、实体类注解、通用CRUD调用、复杂条件分页查询、逻辑删除与主键生成全流程实战,直接适配业务开发刚需。
第一步完成基础环境搭建与依赖引入,新建SpringBoot项目,引入Web核心依赖、MySQL驱动依赖、MyBatis-Plus起步依赖,无需额外引入MyBatis原生依赖,MyBatis-Plus已自动整合兼容。需要注意适配版本匹配,SpringBoot3.x适配MyBatis-Plus最新稳定版本,避免版本不兼容导致启动报错、Bean注入失败等问题。依赖引入完成后,在application.yml配置文件中配置数据库连接参数,包括数据库地址、端口、库名、账号密码、连接池最大最小连接数、超时时间等基础配置,同时配置MyBatis-Plus核心参数,关闭SQL日志默认关闭,开发环境可开启便于SQL调试,指定实体类别名扫描路径、Mapper接口映射文件路径。
第二步实体类与核心注解规范化编写,创建数据库对应实体类,类名与数据库表名对应,属性与表字段一一对应,通过MyBatis-Plus核心注解简化映射配置。@TableName注解指定实体类关联数据库表名,解决类名与表名不一致问题;@TableId注解标记主键字段,指定主键生成策略,支持自增主键、雪花算法主键、UUID主键等多种企业常用模式,互联网项目主流采用雪花算法,避免自增主键安全性低、分库分表适配性差的问题;@TableField注解标记普通字段,解决实体属性与表字段名称不一致、字段非数据库映射等问题;额外配置逻辑删除注解@TableLogic,无需手动修改SQL,一键实现数据逻辑删除,保留数据记录,适配企业数据溯源与数据恢复需求。
第三步Mapper、Service层极简开发与通用CRUD调用,MyBatis-Plus内置BaseMapper通用接口,自定义Mapper接口直接继承BaseMapper,无需编写任何SQL语句,即可直接调用新增、删除、修改、根据主键查询、批量操作等基础CRUD方法。Service层同理内置IService通用业务接口与ServiceImpl实现类,业务Service直接继承即可实现批量操作、链式调用等增强业务方法。实战演示新增用户、根据ID删除用户、修改用户信息、查询单个及列表数据等基础操作,全程零SQL编写,一行代码即可完成数据库操作,极致简化重复开发工作,聚焦核心业务逻辑编写。
第四步复杂业务核心刚需:条件构造器分页查询实战,业务开发绝非简单CRUD,多条件组合查询、模糊查询、时间范围查询、分页排序查询是高频刚需。本文详解MyBatis-Plus QueryWrapper条件构造器用法,实现等值查询、模糊查询、大于小于时间范围查询、排序查询、字段指定查询等复杂条件拼接;同时配置MyBatis-Plus分页插件,无需手动编写分页SQL,直接调用分页方法,传入当前页码、每页条数,自动实现分页查询、总条数统计、总页数计算,快速返回分页结果集,适配后台管理系统列表分页、前端数据分页展示等核心业务场景,即拿即用无需二次改造。