练习使用MybatisPlus
基础使用 使用步骤 引入依赖 自己的mapper接口继承BaseMapper 我们可以看到(下图)baseMapper有着一系列的基础数据库操作 实体类配置 MybatisPlus通过以下实现CRUD数据库表信息 •默认以类名驼峰转下划线作为表名 •默认把名为id的字段作为主键 •默认把变量名驼峰转下划线作为表的字段名 MybatisPlus的常用注解: •@TableName:指定表名称及全局配置 •@TableId:指定id字段及相关配置 •@TableField:指定普通字段及相关配置 @TableField的常见场景: •成员变量名与数据库字段名不一致 •成员变量名以is开头,且是布尔值 •成员变量名与数据库关键字冲突 •成员变量不是数据库字段 yaml配置 mybatis-plus: #注册别名后,就不用在xml中写全路径名称了 type-aliases-package: com.itheima.mp.domain.po # 其它很多配置都不用配置,使用默认值即可 mybatisPlus不仅实现了一些基础的单表查询mapper,甚至提供了service接口,借助该接口能够完成一些基础业务 IService 通过一个接口和一个实现类来协调完成这些基础功能的实现 扩展插件 逻辑删除 直接再yaml中配置,配置完成后,原来删除方法如,deleteById,就会执行逻辑删除 mybatis-plus: global-config: db-config: # 逻辑删除字段名(在数据表中的) logic-delete-field: deleted # 逻辑已删除值(默认为 1) logic-delete-value: 1 # 逻辑未删除值(默认为 0) logic-not-delete-value: 0 JSON处理器 能够将数据库中存储的json数据,解析为对象 步骤:1.注入字段使用注解;2.创建实体类 @Data @TableName(value = "user", autoResultMap = true) public class User { ... /** * 详细信息 */ @TableField(typeHandler = JacksonTypeHandler.class) private Map<String, Object> info; ... } @Data @AllArgsConstructor(staticName = "of") //便于静态构造创建对象 @NoArgsConstructor public class UserInfo { private Integer age; private String intro; private String gender; } 分页插件 单独的分页插件依赖 ...
