MybatisPlus快速入门

MybatisPlus快速入门

  • 1.引入MybatisPlus的起步依赖
  • 2.定义Mapper
  • 3.常见注解
  • 4.常见配置

官方文档: MybatisPlus

1.引入MybatisPlus的起步依赖

MybatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能,并且实现了自动装配效果。
因此我们可以用MybatisPlus的starter代替Mybatis的starter:

<dependency>
	<groupId>com.bamidougroupId>
	<artifactId>mybatis-plus-boot-starterartifactId>
	<version>3.5.3.1version>
dependency>

2.定义Mapper

自定义的Mapper继承MybatisPlus提供的BaseMapper接口:

//BaseMapper的泛型要写实体类的类型
//MybatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息
public interface UserMapper extends BaseMapper<User> {
}

直接使用父接口BaseMapper里面的CRUD(增删改查)方法即可

文件目录结构
MybatisPlus快速入门_第1张图片

3.常见注解

因为MybatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息
如图:
MybatisPlus快速入门_第2张图片
相关约定:

  • 类名驼峰转下划线作为表名
  • 名为id的字段作为主键
  • 变量名驼峰转下划线作为表的字段名

MybatisPlus比较常用的几个注解如下:

  • @TableName:用来指定表名
  • @TableId:用来指定表中的主键字段信息
  • @TableField:用来指定表中的普通字段信息

IdType枚举:

  • AUTO:数据库自增长
  • INPUT:通过set方法自行输入
  • ASSIGN_ID:分配ID,默认使用雪花算法生成id

使用@TableField的常见场景:

  • 成员变量名与数据库字段名不一致
  • 成员变量名以is开头,且是布尔值(建议POJO类中布尔类型的变量,都不要加is)
  • 成员变量名与数据库关键字冲突(使用反引号)
  • 成员变量不是数据库字段

如图:

MybatisPlus快速入门_第3张图片

4.常见配置

MybatisPlus的配置项继承了Mybatis原生配置和一些自己特有的配置。如图:
MybatisPlus快速入门_第4张图片
Mapper.xml文件:MybatisPlus非常适合简化单表的CRUD,多表更多的时候需要手写sql语句到此文化中

作用如下:

  1. 存放SQL语句
  2. 映射关系配置
  3. 参数传递(Mapper.xml文件中可以定义SQL语句中的参数映射关系。通过参数映射,可以将Java对象的属性值传递给SQL语句中的参数,实现数据的传递和操作)
  4. 结果映射(Mapper.xml文件中可以配置SQL查询结果的映射关系,将数据库查询结果映射到Java对象,以便在Java代码中直接使用)

上图的cache-enabled属性设置为false表示禁用了二级缓存。

二级缓存是指将查询结果缓存在内存中,以便在后续查询中可以直接从缓存中获取数据,而不必再次访问数据库。禁用二级缓存意味着每次查询都会直接访问数据库,不会使用缓存进行优化,会导致性能下降

更多配置见官方文档:使用配置

你可能感兴趣的:(MybatisPlus,mybatis,java)