一、@TableName
①@TableName处理问题
@TableName("t_user")
public class User {
}
②配置全局配置
mybatis-plus:
configuration:
#设置日志服务
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#设置Mybatis-Plus全局配置
global-config:
db-config:
# 设置实体类所对应的表统一前缀
table-prefix: t_
2、@TableId
①通过@TableId解决问题
@TableId("uid")
private Long id;
常见的主键策略:
值 | 描述 |
---|---|
IdType.ASSIGN_ID(默 认) | 基于雪花算法的策略生成数据id,与数据库id是否设置自增无关 |
IdType.AUTO | 使用数据库的自增策略,注意,该类型请确保数据库设置了id自增, 否则无效 |
配置全局主键策略:
mybatis-plus:
configuration:
#设置日志服务
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#设置Mybatis-Plus全局配置
global-config:
db-config:
# 设置实体类所对应的表统一前缀
table-prefix: t_
#设置统一的主键生成策略
id-type: auto
3、雪花算法
一、背景 :
需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。 数据库的扩展方式主要包括:业务分库、主从复制,数据库分表。
二、数据库分表:
将不同业务数据分散存储到不同的数据库服务器,能够支撑百万甚至千万用户规模的业务,但如果业务继续发展,同一业务的单表数据也会达到单台数据库服务器的处理瓶颈。例如,淘宝的几亿用户数据, 如果全部存放在一台数据库服务器的一张表中,肯定是无法满足性能要求的,此时就需要对单表数据进行拆分。