mp中的配置,这样设置以后,id会按照雪花算法在全局id中不重复新增,如果你没在实体类中设置id的自增策略会默认使用这种方式
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: indi.hh.jarvis.server.entity
configuration:
# 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
map-underscore-to-camel-case: true
# 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
# 允许在resultType="map"时映射null值
call-setters-on-nulls: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
#主键类型(auto:"自增id",assign_id:"全局唯一id(雪花算法,Long或者String类型)",assign_uuid:"全局唯一id(
# 无中划线的uuid)",input:"自行设置id,默认null",none:"不设置主键id")
id-type: assign_id
我的实体类,设置了id是自增,从1开始,所以不会采用默认的自增形式
@Data
@TableName("log")
public class Log {
@TableId(type = IdType.AUTO)
private Integer id;
private String user;
private String ip;
private String methodName;
private String args;
private Long costTime;
private Date createTime;
}
我的sql'
DROP TABLE IF EXISTS `log`;
CREATE TABLE `log` (
`id` int(11) null AUTO_INCREMENT COMMENT "自增id",
`user` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT "用户信息",
`ip` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT "用户IP",
`method_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT "方法名",
`args` LONGTEXT CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL comment "方法参数",
`cost_time` int(12) NULL DEFAULT NULL COMMENT "耗时",
`create_time` datetime(0) NULL DEFAULT NULL COMMENT "创建时间",
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;