告别重复CRUD!MyBatis-Plus,Java开发摸鱼神器✨

告别重复CRUD!MyBatis-Plus,Java开发摸鱼神器✨ 做Java后端的都懂原生MyBatis开发最烦的就是单表CRUD重复搬砖写XML、拼基础SQL枯燥又耗时。今天分享一款后端必备效率神器MyBatis-PlusMP。一句话吃透不替代MyBatis只给它开外挂零侵入、上手快彻底干掉冗余单表代码一、MyBatis-Plus 是什么MP是MyBatis的增强工具核心就两大优势1无侵入兼容老项目直接接入原生MyBatis写法全部保留无需改代码2零SQL单表操作增删改查无需手写XML和基础SQL开箱即用最简使用原则单表操作交给MP复杂多表联查、自定义SQL用原生MyBatis兼顾效率与灵活。二、MP核心优势开发者必用摒弃虚话只讲开发刚需亮点1继承接口即拥有全套CRUD方法告别重复代码2链式条件构造器优雅拼接查询条件杜绝SQL拼写错误3自带物理分页无需手动计算页码、总条数4内置自动填充、逻辑删除、乐观锁等企业级功能5支持一键生成全套业务代码极大提速开发三、5分钟快速上手SpringBoot集成MP超简配置新手也能一次性部署成功。1. 引入核心依赖!-- MyBatis-Plus 启动器 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3.1/version/dependency!-- MySQL驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependency2. 基础配置配置数据库连接开启SQL日志方便调试spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/你的库名?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghaiusername: rootpassword: 你的密码mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl3. 实体类映射极简注解绑定数据表主键自动生成import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import java.time.LocalDateTime;DataTableName(t_user)public class User {TableId(type IdType.ASSIGN_ID) // 雪花算法生成IDprivate Long id;private String username;private Integer age;private String email;private LocalDateTime createTime;}4. Mapper接口核心懒人用法继承BaseMapper零代码拥有全套CRUD能力import com.baomidou.mybatisplus.core.mapper.BaseMapper;import org.apache.ibatis.annotations.Mapper;Mapperpublic interface UserMapper extends BaseMapperUser {}5. 零SQL实现CRUDSpringBootTestpublic class MpTest {Autowiredprivate UserMapper userMapper;// 查询全部Testvoid listAll(){userMapper.selectList(null).forEach(System.out::println);}// 新增数据Testvoid addUser(){User user new User();user.setUsername(MP小白);user.setAge(22);user.setEmail(test163.com);userMapper.insert(user);}// 根据ID修改、删除Testvoid updateAndDel(){User user new User();user.setId(1752688955666666666L);user.setAge(23);userMapper.updateById(user);userMapper.deleteById(1752688955666666666L);}}若对你有帮助欢迎点赞关注后续持续分享干货。