1. Mybatis-plus
官网:链接
1. 依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.9</version>
</dependency>
2. 注解配置表名、字段名
一般情况下,数据库映射为实体类对应关系
- 数据库表与实体类类名:下划线转为驼峰
- 实体类中的id字段对应数据库中的主键字段id
- 表中列名与实体类属性名:下划线转驼峰
如不满足以上条件,需在实体类中使用注解
-
表名注解:
@TableName
:用来指定表名 -
指定主键:
@TableId
指定表中的主键 -
实体类属性注解:
@TableField
指定表中的字段信息// 指定该实体类对应的表名是t_vip
@TableName(“t_vip
”)
public class Vip {
// 指定该属性为主键,且在数据表中的列名为id,且自增
@TableId(value = “id”, type = IdType.AUTO)
private Long vid;
// 指定该属性对应表中的username列
@TableField(value = “username”)
private String name;
// 数据表中不存在该属性对应的列
@TableField(exist = false)
private String birthday;
}
@TableId:常见类型
-
主键最好指定类型,默认是
type = IdType.ASSIGN_ID
@TableId(type = IdType.AUTO) // 主键自增,数据库自动生成 @TableId(type = IdType.INPUT) // 通过set方法自行输入,例如uuid作为主键,需要手动赋值 @TableId( type = IdType.ASSIGN_ID) // 通过接口生成主键,由mybatis-plus自动生成
@TableField:常见场景
-
实体类属性与数据库表中字段不一致,
// 属性是name,表中是username @TableField("username") private String name;
-
表中以is开头并且是boolean值
// 表中字段名:is_ban,映射的属性名为ban
@TableField(“is_ban”)
private Boolean name; -
属性名与数据库的关键字一致
// order在数据库中是关键字,注意使用了 ``
@TableField(“order
”)
private String order; -
属性并不属于数据库表中的字段
// 数据表中不存在该属性对应的列 @TableField(exist = false) private String birthday;
3. yml中的配置
官方