MyBatisPlus数据库表对应关系
MyBatisPlus是通过扫描实体类,并基于反射获取实体类类信息作为表字段信息。
默认规则
类名驼峰转下划线作为类名
如:java中po的ErUser类,对应数据库表为er_user
名为id的作为主键
如:java中po的ErUser类有id属性,则mybatisplus会默认为主键
变量名驼峰转下划线作为表字段名称
如:java中po的ErUser类有userName属性,则mybatisplus会默认user_name为表字段名称
常见注解
开发过程中,默认规则不能满足实际需求,这时候就需要用注解来解决问题。
@TableName:用来指定表名
数据库表名为er_user,但开发中要用user作为类名
@TableId:用来指定表的主键
表的主键在数据库中为id,但开发中要用userId,并且主键为数据库自增长
扩展:
IdType枚举:
AUTO:数据库自增长
INPUT:通过set方法注入
ASSIGN_ID:mybatisPlus自动生成id(底层雪花算法,可以自定义)
@TableField: 用来指定表的普通信息
常用场景:
成员变量与数据库表字段不一致
成员变量名以is开头,且为布尔值(is开头的数据库处理时会把is去掉)
成员变量名与数据库关键字冲突
成员变量不为数据库字段