MyBatisPlus通过扫描实体类,并基于反射获取实体类的信息作为数据库表信息
//将BaseMapper中的泛型替换为User实体
pubic interface UserMapper extend BaseMapper<User> {
}
约定大于配置:
· 类名驼峰转下滑线作为表名
· 名为id的字段作为主键
· 变量名驼峰转下划线作为表的字段名
常见注解及属性 :
注解配置 | MyBatis-Plus (baomidou.com)
当实体类定义与约定不同时,通过注解来指定对应关系
· @TableName:用来指定表名
· @TableId:用来指定表中的主键字段信息
属性:type=IdType.AUTO:数据库自增长
type=IdType.INPUT:通过set方法键盘输入
type=IdType.ASSIGN_ID:接口IdentifierGenerator的方法nextId来生成id,默认实现类为 DefaultidentifierGenerator雪花算法
· @TableField:用来指定表中普通字段名
使用@tableField的场景:成员变量与数据库字段名不一致
成员变量以is开头,且为布尔类型
成员变量名与数据库关键字冲突
成员变量不是数据库字段
属性:@TableField(exist = false) 成员变量不是数据库字段