文章目录
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): 分配ID,IdentifierGenerator接口的nextId方法生成,默认雪花算法。@TableId(type = IdType.ASSIGN_UUID): 使用UUID。@TableId(type = IdType.None):不使用主键。
五、@TableField 的使用场景
- 员变量名与数据库字段名不一致。需要使用
@TableField(“对应数据库字段名”)。 - 成员变量名以
is的开头,且是布尔值,需手动添加。 - 成员变量名与数据库关键字冲突的情况,使用转义字符(`)加载字段名两边,在双引号之内,字段两边。
- 成员变量不是数据库表中的字段。
@TableField(exist = false)。
2671

被折叠的 条评论
为什么被折叠?



