0


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放在实体上![](https://img-blog.csdnimg.cn/b04a8dac5bcc442c9d32395cfbc3bbe9.png)
@TableLogic

逻辑删除

物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据

逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库

中仍旧能看到此条数据记录

使用场景:可以进行数据恢复

实现逻辑删除

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

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

标签: mybatis java mysql

本文转载自: https://blog.csdn.net/qq_59102081/article/details/125492482
版权归原作者 懒起来 所有, 如有侵权,请联系我们删除。

“MyBatis-Plus常用注解”的评论:

还没有评论