mybatis-plus使用指南(1)

快速开始

首先 我们 在创建了一个基本的springboot的基础框架以后,在 pom文件中 引入 mybatisplus的相关依赖

复制代码
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

引入依赖成功之后,就可以替换原本的mybatis的依赖了,因为mybatis-plus的宗旨就是

只做增强不做改变,润物细无声 哈哈哈,是不是听起来很牛逼,那么下面我们就开始正式使用 mybatisplus (后文都简称为 mp)

1. 定义mapper

在之前的mybatis中,我们写所有的基本的crud代码都需要自己定义sql,自己写xml文件,在我们的mp中,他就提供了一个 基础的 BaseMapper 接口,我们只需要 让自己的mapper 接口 继承我们的 BaseMpapper 接口就行了,基础的basemapper接口 已经实现的 基本的crud ,我们直接调用就可以了

其中 User 是我们对应数据库user表中 的实体类

然后 我们写一个测试类,注入 usermapper 直接一句代码不用写,就可以调用 基本的crud了

可以看到 我们专门点出来一个方法 更能清晰的看到 basemapper中给我们实现的方法

sql语句的转换规则

我们为什么要在basemapper中写一个 user的 实体,因为·我们要告诉mp 我们要使用哪张表

而且实体的命名也是有规则的

1. @TableName("value")

value 中写的是对应数据库表中的表名

复制代码
@TableName("user")
public class User {
    private Long id;
    private String name;
}

其中还有其他的属性值

2.@TableId

复制代码
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
}

一般该注解只是指定 实体类对应的数据库的主键

3.@TableFiled

复制代码
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
    @TableField("isMarried")
    private Boolean isMarried;
    @TableField("concat")
    private String concat;
}

其中的属性对应的是数据库中的字段名

其他的属性可以参考MyBatis-Plus 官方文档

这是常用的 三个基础注解

相关推荐
weixin_460443562 小时前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
海鸥-w5 小时前
什么是AOP
java
Cc.Y5 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck6 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787056 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev6 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
Sarvartha6 小时前
Lambda 表达式和函数式接口
java·开发语言
计算机毕业设计杰瑞6 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
colinu6 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
蜗牛互联网6 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端