MyBatisPlus 基础原理、常见注解和注意事项简介


MyBatsPlus 简称 MP 是一个 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变。

如果不清楚如何使用 SpringBoot 整合 MyBatisPlus 框架,可以点击 超详细的SpringBoot项目整合MyBatisPlus框架步骤示例,并附带浏览器和Junit测试结果示例代码

如果不清楚如何使用 SpringBoot 整合 MyBatis 框架,可以点击超详细的SpringBoot项目整合MyBatis框架步骤示例,并附带浏览器和Junit测试结果示例代码

一、MyBatsPlus 依赖添加

1、引入 MyBatsPlus 依赖,代替 MyBatis

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

2、定义 mapper 接口并继承 BaseMapper

@Mapper
public interface UserMapper extends BaseMapper<User> {
	
	// 这里的BaseMapper是一个MyBatisPlus中提供的超类
    // 这个类里面附带了增删改查等一系列的常用方法
    // TbUserMapper中一些常见的操作就可以直接继承过来进行使用
    
}

二、MyBatsPlus 自动生成 SQL 原理

MyBatsPlus 通过扫描实体类,并基于反射的方式获取实体类信息作为数据库表信息。

MyBatsPlus 自动生成 SQL 语句原理如下:

  • 类名驼峰转下划线做为表名
    • 例如:UserInfo 表转成数据库表,表名变成 user_info
  • 属性名为 id 的字段作为主键。
  • 变量名驼峰转下划线作为表的字段名。

MyBatsPlus 的实现原理中,要遵守约定大于配置。若实体类中的名字或者属性名等不符合约定,则需自己使用注解对其进行配置。

三、MyBatsPlus 常用注解

  • @TableName:指定数据库表的名字。
  • @TableId:指定数据库表中主键字段。
  • @TableField:指定数据库表中普通字段。

四、@TableId 注解中的 type 枚举

  • @TableId(type = IdType.AUTO) : 数据库主键 ID 自增长。
  • @TableId(type = IdType.INPUT) : 通过 set 方法手动输入。
  • @TableId(type = IdType.ASSIGN_ID) : 分配 IDIdentifierGenerator 接口的 nextId 方法生成,默认雪花算法。
  • @TableId(type = IdType.ASSIGN_UUID) : 使用 UUID
  • @TableId(type = IdType.None) :不使用主键。

五、@TableField 的使用场景

  • 员变量名与数据库字段名不一致。需要使用 @TableField(“对应数据库字段名”)
  • 成员变量名以 is 的开头,且是布尔值,需手动添加。
  • 成员变量名与数据库关键字冲突的情况,使用转义字符(`)加载字段名两边,在双引号之内,字段两边。
  • 成员变量不是数据库表中的字段。@TableField(exist = false)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值