Mybatis-Plus相关注解


前言

这一篇讲的是一些我学到的常用注解,肯定是不全的,不过够我用了,遇到了别的注解再更新吧。

一、@TableName

在编写数据库表对应实体类的时候我们通常使用的是驼峰命名法去对应数据库表的名称,但是数据库表的命名规范和Java是不同的。所以出现了@TableName注解来解决这类问题。

@TableName用来直接指定该类对应的数据库表名称

@TableName("t_user")
public class User {
    ....
}

在开发的过程中还会遇到需要操作的实体类都具有统一的前缀。这样我们可以在配置文件中进行配置。(除非是大多数的表都是统一前缀的,不然还是手敲吧,别搞这些花里胡巧的,顺带一提,这里配置了mp的日志输出,这样也方便我们在编写代码的时候查报错原因)

二、@TableId

这个注解是用于声明对应表的注解的,大多数情下表的主键会使用id字段,可是在一些场景下我们会使用别的名称对主键进行命名,例如uid。这样的场景下我们会面临两种情况。

1.对应的字段命名和数据库主键名称一致,那么我们直接在对应字段上面添加注解就可以了

public class User {
    @TableId()
    private Long uid;
}

2.实体类中字段名称和数据库主键名称不一致,此时需要在设置注解的同事设置好value字段。

public class User {
    @TableId(value = "uid")
    private Long id;
}

3.@TableId中还有一个type属性,在向表插入对象的时候我们一般不会指定主键字段,在这里可以可以设置对应id自增类型。也可以不设置,默认使用数据库表自己配置的id生成规则

4.如果没有配置主键,那么mp的部分方法将使用不了,例如:updateByid、selelctById

5.可以在配置文件中统一配置id策略

三、@TableField

1.实体字段对应表字段一般是按驼峰命名法来对应的。如:实体类属性userName,表中字段user_name

2.如果驼峰不能满足的话就需要使用@TableField的value属性来直接指定

四、@TableLogic

在进行删除的时候我们分逻辑删除和物理删除,在进行逻辑删除的时候我们就能使用@TableLogic注解。默认0未删除,1已删除。

可以通过@TableLogic(value = "原值",delval = "删除值")注解中的两个属性来手动设置逻辑删除的原值和删除值。

还可以通过配置文件进行全局配置


总结

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值