SpringCloud--MybatisPlus
一、常用注解
1.1 MybatisPlus实现
原理:通过扫描实体类(之前定义泛型)信息,通过反射获取实体类信息作为数据库字段信息。
1.2 之间遵循的约定
如何获取crud的数据库表信息?
类名驼峰转下划线作为表名
名为id的字段作为主键
变量名驼峰转下划线作为表的字段名
不符合约定,需要特殊标记一下:
@TableName:指定表名
@TableId:指定表中主键字段信息(value:“id”,type:枚举类型三选一,不写默认雪花生成Long类型整数长度20位id)
@TableFieId:指定表中普通字段信息
经过这些约定与特殊标记,通过反射可以找到数据库表的字段。
注:
一定要有一个名为Id的字段,或者用TableId注解将它标记出来,否则后续无法找到它根据主键做crud
IdType枚举:AUTO(数据库自增)、INPUT(自己通过set方法设置)、ASSIGN_ID(通过IdentifierGenerator的方法nextId来生成id,默认实现类为DefaultIdentifierGenerator雪花算法)
TableField使用场景:①成员变量名与数据库字段不一致,②以is开头且是布尔值,
③与关键字冲突(像order,就得用 转移字符 标一下),④不是数据库字段
eg:
@TableField("`order`")------@TableField (exist=false)