P1 介绍
实现单表的crud操作。
还有更多的一些丰富功能。
P2 快速入门-入门案例
- 引入mybatis-plus,集成了mybatis和mybaitsplus的所有功能,实现了自动装配效果。
例如:
XML
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
- 定义mapper,继承mybatisplus提供的basemapper,指定泛型为对应的实体类型
P3 快速入门-常用注解
mybatisplus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息。
-
类名驼峰转下划线作为表名;
-
名为id的字段作为主键;
-
变量名驼峰转下划线作为表的字段名;(约定大于配置)
如果变量名不符合上述驼峰,这如何实现映射呢,需要自己使用注解,
mybatisplus中常用的几个注解如下:
-
@TableName:指定表名
-
@TableId,指定表中的主键字段
生成id有三种形式,可以通过type进行指定
-
AUTO,数据库自增长,id是数据库创建的
-
INPUT,通过set方法自行输入
-
ASSIGNED_ID,分配ID,将IdentifierGenerator的方法nextId来生成id,这是mybatisplus实现的id,雪花算法生成long型id
-
-
@TableField,指定表中的普通字段信息
常见场景,
-
成员变量名与数据库字段名不一致,
-
成员变量名以is开头且是布尔值,
-
成员变量名与数据库关键字冲突,使用转义字符解决@TabelField("
order
") -
成员变量不是数据库字段,
@TabelField(exist = false)
-
例如,数据库中真实表名为tb_user
,而实体类为User
,则可以加上注解@TabelName("tb_user"
。
P4 常用配置
这个配置也要熟悉
mybatisplus的配置项集成了mybatis原生配置和一些自己特有的配置,
例如:下述配置几乎都是有默认值的
XML
#mybatis:
# mapper-locations: classpath*:mapper/*.xml
mybatis-plus:
type-aliases-package: com.itheima.mp.domain.po # 别名扫描包
global-config:
db-config:
id-type: auto # 配置id生成的策略,如果是雪花算法就是assign_id
logic-delete-field: deleted # 配置逻辑删除字段
update-strategy: not_null # 更新策略,只更新非空字段
configuration:
default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
map-underscore-to-camel-case: true # 开启下划线和驼峰映射
cache-enabled: false # 是否开启二级缓存
mapper-locations: "" # mapper.xml文件地址
具体可以查看官网的示例配置,