Springboot3 Mybatis-plus 3.5.9

1. Mybatis-plus

官网:链接

1. 依赖

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
  <version>3.5.9</version>
</dependency>

2. 注解配置表名、字段名

一般情况下,数据库映射为实体类对应关系

  1. 数据库表与实体类类名:下划线转为驼峰
  2. 实体类中的id字段对应数据库中的主键字段id
  3. 表中列名与实体类属性名:下划线转驼峰

如不满足以上条件,需在实体类中使用注解

  1. 表名注解:@TableName:用来指定表名

  2. 指定主键:@TableId 指定表中的主键

  3. 实体类属性注解:@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:常见场景

  1. 实体类属性与数据库表中字段不一致,

    // 属性是name,表中是username
    @TableField("username")
    private String name;
    
  2. 表中以is开头并且是boolean值

    // 表中字段名:is_ban,映射的属性名为ban
    @TableField(“is_ban”)
    private Boolean name;

  3. 属性名与数据库的关键字一致

    // order在数据库中是关键字,注意使用了 ``
    @TableField(“order”)
    private String order;

  4. 属性并不属于数据库表中的字段

    // 数据表中不存在该属性对应的列
    @TableField(exist = false)
    private String birthday;
    

3. yml中的配置

官方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值