当前位置: 首页 > news >正文

用大白话解释 持久框架Mybatis-Plus——像“瑞士军刀”一样简单

MyBatis-Plus是啥?

比喻:你有一把普通的螺丝刀(MyBatis),每次拧螺丝都要手动换刀头(写SQL和配置),而MyBatis-Plus就是一把“瑞士军刀”——把常用的刀头(数据库操作功能)都装好,随用随取,省时省力。
核心定义:
MyBatis-Plus(简称MP)是MyBatis的增强工具,在原有框架基础上封装了重复操作(如增删改查),让你少写代码、少犯错,专注业务逻辑 。

MyBatis-Plus有啥用?让数据库操作像“点外卖”一样简单

自动生成代码:

传统MyBatis需要手动写实体类、Mapper接口和XML文件,而MP能一键生成这些代码 。
示例:创建用户表后,MP自动生成对应的User类、UserMapper接口,省去手写代码的麻烦。

通用CRUD操作:

不用再写重复的增删改查SQL。继承BaseMapper后,直接调用insert()、selectById()等方法,像用手机APP下单一样方便。
例子:userMapper.selectList(null)能直接查询所有用户,无需手写SQL。

简化复杂操作:

分页查询:配置分页插件后,调用selectPage()方法即可实现分页 。
乐观锁:防止多人同时修改数据冲突,加个@Version注解就能自动处理 。

减少配置:

传统MyBatis需要配置大量XML文件,而MP通过注解和默认配置简化流程,像“自动导航”一样省心 。

MyBatis-Plus怎么用?五步搞定

比喻:组装一把瑞士军刀(配置项目) → 开始拧螺丝(写代码)。

步骤1:创建项目(买刀)

用IDEA或Spring Initializr创建一个Spring Boot项目。

步骤2:导入依赖(装刀头)

在pom.xml中添加依赖(以MySQL为例):

<!-- MySQL驱动 -->  
<dependency>  
    <groupId>mysql</groupId>  
    <artifactId>mysql-connector-java</artifactId>  
    <version>8.0.25</version>  
</dependency>  
<!-- MyBatis-Plus启动器 -->  
<dependency>  
    <groupId>com.baomidou</groupId>  
    <artifactId>mybatis-plus-boot-starter</artifactId>  
    <version>3.4.3</version>  
</dependency>  

步骤3:配置数据库(连螺丝孔)

在application.properties中配置数据库连接:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false  
spring.datasource.username=root  
spring.datasource.password=123456  

步骤4:写实体类和Mapper(装刀柄)

1.实体类:用@TableId标记主键(如自增ID):

@Data  
public class User {  
    @TableId(type = IdType.AUTO)  
    private Long id;  
    private String name;  
    private Integer age;  
    private String email;  
}  

2.Mapper接口:继承BaseMapper,直接获得CRUD方法:

@Mapper  
public interface UserMapper extends BaseMapper<User> {}  

步骤5:测试(拧螺丝)

在测试类中调用方法:

@SpringBootTest  
class MyAppTests {  
    @Autowired  
    private UserMapper userMapper;  

    @Test  
    void testSelectAll() {  
        List<User> users = userMapper.selectList(null);  
        users.forEach(System.out::println);  
    }  
}  

ps:日志不显示:在配置文件中加mybatis-plus.configuration.log-impl=StdOutImpl。
分页失效:需配置分页插件PaginationInterceptor。

相关文章:

  • 风控算法技术图谱和学习路径
  • 如何在VUE框架下渲染出来一个水球图
  • MongoDB快速入门
  • 大白话React第十章React 前沿技术在企业级应用中的深度实践
  • 从FLM获取算法进行DAP脱机烧录踩坑解决总结
  • 市场成本趋势-新指标-找到成本高度集中处布局-抓主升或趋势行情,识别出货还是洗盘
  • (十 四)趣学设计模式 之 策略模式!
  • Mysql-如何理解事务?
  • JDBC 进阶
  • vulnhub靶场之【kioptrix-5】靶机
  • 纯电动商用车核心性能评价方法实现
  • uniapp 测试 IPA 包安装到测试 iPhone
  • 如何使用Docker搭建哪吒监控面板程序
  • java2025热点面试题之springmvc
  • C# 类型转换
  • vue3:四嵌套路由的实现
  • 学Java第三十天------------多态
  • 20250226-代码笔记05-class CVRP_Decoder
  • 【无人机】无人机通信模块,无人机图数传模块的介绍,数传,图传,图传数传一体电台,
  • 什么是HA
  • 做篮球管理网站的步骤/上海网络推广服务公司
  • 上海做网址域名的公司/洛阳seo网络推广
  • 手机公司网站建设/北京百度推广seo
  • 网站开发实用技术第2版/营销培训课程有哪些
  • 做招聘网站客户要发票怎么办/网页模板设计
  • 怎么做网站生意/seo专业培训中心