网站建设优化服务策划,wordpress固定连接怎么设置最好,wordpress需要ftp,做手机网站优TableId注解是专门用在主键上的注解#xff0c;如果数据库中的主键字段名和实体中的属性名#xff0c;不一样且不是驼峰之类的对应关系#xff0c;可以在实体中表示主键的属性上加Tableid注解#xff0c;并指定Tableid注解的value属性值为表中主键的字段名既可以对应上。
…TableId注解是专门用在主键上的注解如果数据库中的主键字段名和实体中的属性名不一样且不是驼峰之类的对应关系可以在实体中表示主键的属性上加Tableid注解并指定Tableid注解的value属性值为表中主键的字段名既可以对应上。
比如数据中的表中的字段是vote_id但是实体类是voteId。那么就需要在voteId上打上这个注解如下
/** 主键 */TableId(vote_id)TableId(value vote_id)private Long voteId;TableId注解源码
package com.baomidou.mybatisplus.annotation;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;Documented
Retention(RetentionPolicy.RUNTIME)
Target({ElementType.FIELD})
public interface TableId {String value() default ;IdType type() default IdType.NONE;
}TableId注解使用介绍 从源码可以看出设置主键映射时 value映射主键字段的名字 type 设置主键类型、主键的生成策略
值描述AUTO数据库自增NONEMP set主键雪花算法实现INPUT需要手动赋值ASSIGN_IDMP分配IDLong、Integer、StringASSIGN_UUID分配UUIDString
数据库自增 AUTO 开发者无需赋值,自己根据当前表中id最大值自增1 手动赋值的话还是使用数据库id中最大值1 的方式赋予id
public class VoteInfo extends MybatisPlusBaseEntity {TableId(type IdType.AUTO)private Long voteId;
} 自动生成主键 使用雪花算法 NONE 配合新增使用 用的时候需要注意主键长度 但是MyBatisPlus3.20的时候是采取该字段最大值1数据类型改int为long注意雪花id生成的长度否则会报错同时如果主键如果数据类型为int需要修改成Long。
public class VoteInfo extends MybatisPlusBaseEntity {TableId(type IdType.NONE)private Long voteId;
} 开发者手动赋值 INPUT
如果插入操作中,没有对id进行赋值,那么存进数据库中的将为0(long)数据库一般会采取自增id的方式处理 当前数据库编号的值1。如果赋值了就用开发者所赋的值。
ASSIGN_ID 等同于ID_ WORKER(3) ,ID_ WORKER STR(3) 使用mp自动赋值 采取雪花算法,但是MyBatisPlus3.20的时候是采取该字段最大值1
ASSIGN_ID 等同于UUID要求主键类型必须是String类型,会自动生成UUID进行赋值需要考虑数据库的字段设计,数据库中的int类型的,所以存不进去,但因为主键自增,如果要修改int类型为varchar类型的话,需要去除主键自增。