• MyBatis-Plus常用注解


     在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user

    由此得出结论,MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决
    定,且默认操作的表名和实体类型的类名一致
    @TableName

     注解使用条件:

    若实体类类型的类名和要操作的表的表名不一致,会出现什么问题?
    我们将表user更名为t_user,测试查询功能 程序抛出异常,Table 'mybatis_plus.user' doesn't exist,因为现在的表名为t_user,而默认操作 的表名和实体类型的类名一致,即user
    在实体类类型上添加@TableName("t_user"),标识实体类对应的表,即可成功执行SQL语句

     

    @TableId
    MyBatis-Plus 在实现 CRUD 时,会默认将 id 作为主键列,并在插入数据时,默认 基于雪花算法的策略生成id。
    若实体类和表中表示主键的不是 id ,而是其他字段,例如 uid MyBatis-Plus不会 自动识别 uid 为主
    键列,
    解决方式:
    在实体类中 uid 属性上通过 @TableId 将其标识为主键,即可成功执行 SQL 语句

     

    @TableField
    经过以上的测试,我们可以发现, MyBatis-Plus 在执行 SQL 语句时,要保证实体类中的属性名和
    表中的字段名一致
    情况分两种:
            1.当命名有下划线的时候,mybatisplus会自动将下划线命名规则转化为驼峰命名法
            2.如不符合第一种情况就要需要使用注解@TableField放在实体上
    @TableLogic

     逻辑删除

    物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
    逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为 被删除状态 ,之后在数据库
    中仍旧能看到此条数据记录
    使用场景:可以进行数据恢复
    实现逻辑删除

     实现逻辑删除以后,真正执行的是修改功能。

    默认值为0,逻辑删除后的值为1.

  • 相关阅读:
    [附源码]java毕业设计社区生鲜电商平台
    【SpringCloud】Gateway网关入门
    8 张图 | 剖析 Eureka 的首次同步注册表
    【电路理论】ArcGIS pro运行Linkage map3.0
    VisionPro学习笔记(1)——软件介绍和基本使用
    如何在Docker部署Drupal并结合内网穿透实现远程访问
    LabVIEW应用开发——基本函数(一)
    如何区分和选择EML、DML两种激光器
    0基础跟德姆(dom)一起学AI Python进阶10-算法和数据结构
    Python之第七章 函数 --- 迭代器、生成器、装饰器
  • 原文地址:https://blog.csdn.net/qq_59102081/article/details/125492482