前言
- 图片上面的personal表示只有图片上面的一行语句是解释图片内容的、local表示这个图片所在标题下的所有语句都是解释图片内容的、global表示有多个标题下的所有语句都是解释图片内容的
- 我是一名大二的学生,学了差不多一年java技术栈了,想记录一下自己对知识点的心得,目前还是个小白,期望大佬们可以指出我笔记中的不足之处、对知识点的认知错误、笔记结构的混乱等
- 这些图片内容都是在观看黑马课程时的视频截图
文章目录
学习了 p3-p4(MybatisPlus-快速入门-入门案例、常用注解)
1. 入门案例
1.1 细节补充
- 先引入 mybatis-plus-boot-starter 依赖
- 接着定义 Mapper 接口,让 Mapper 接口继承 BaseMapper<实体类>
local
2. 常用注解
2.1 mp关联表的原理
- mp 是通过 BaseMapper 中泛型指定的实体类来关联数据库表的
- 类名驼峰转下划线为表名
- 属性名为 id 的属性认为是表的主键
- 属性名驼峰转下划线为字段名
local
2.2 TableName 注解使用场景
- 如果类名驼峰转下划线的结果不是表名,则需要使用 TableName 注解的 value 属性指定表名
2.3 TableId 注解使用场景
- 数据库主键的名称和类中表示主键的属性的属性名不一致则需要用 TableId 注解的 value 属性指定主键名
- 如果需要指定主键生成策略则可以利用 TableId 注解的 type 属性和 IdType 枚举类来指定,默认生成策略为雪花算法生成主键
- IdType 枚举
- AUTO:数据库自增
- INPUT:手动键入
- ASSIGN_ ID:默认利用雪花算法生成 id,可以通过自定义实现类来替换雪花算法
2.4 TableField 注解使用场景
- 数据库字段名和成员变量名不一致
- 成员变量不是数据库字段
- 成员变量名以 is 开头
- 如果变量名以 is 开头,mp 在处理时会省略 is,比如 isMarried 被处理后变为 married
- 成员变量名和数据库关键字冲突
- 比如成员变量名为数据库排序关键字 order,解决方法是利用 TableField 注解指定字段名为`order`
global