深入了解Java中Mybatis-Plus数据库相关注解 | 青训营

249 阅读3分钟

介绍

正如标题所介绍的,近来在写若依的Java项目,虽然与青训营不太相关,但是想着也是后端内容,写一篇应该也没什么关系。其中很多都是在网上找了一些相关的资料,因为说实话我在学习spring boot的时候,配套直接学习了mybatis-plus,而mybatis的逻辑我甚至都不太清楚。随着不断对若以框架的改写,也逐渐摸清楚了套路。

屏幕截图 2023-08-19 204601.png

对了值得一提的是,这是一个带有工作流的版本,其中工作流的代码给了我学习对照的地方。

话不多说,直接进入正题。

mybatis-plus介绍

Mybatis-Plus是一款基于Mybatis的ORM框架,它在原有的Mybatis功能上进行了扩展和增强,提供了更加便捷的数据库操作方式。本文将重点介绍Mybatis-Plus中与数据库相关的注解,并提供相关代码示例。

@TableName注解

@TableName注解用于标识实体类与数据库表之间的映射关系。通过该注解,可以指定实体类对应的数据库表名,同时还可以配置其他属性,如是否开启驼峰命名、主键生成策略等。

import com.baomidou.mybatisplus.annotation.TableName;

@TableName("user")
public class User {
    // 实体类属性
}

说明一下,上图的@TableName注解将User实体类与数据库中的user表进行映射。

@TableField注解

@TableField注解用于标识实体类属性与数据库表字段之间的映射关系。通过该注解,我们可以指定实体类属性对应的数据库字段名,同时还可以配置其他属性,如是否为主键、是否为自动填充字段等。

import com.baomidou.mybatisplus.annotation.TableField;

public class User {
    @TableField("user_name")
    private String userName;
    // 其他属性
}

上方的@TableField注解将userName属性与数据库中的user_name字段进行映射。

@TableId注解

@TableId注解用于标识实体类属性作为主键的映射关系。通过该注解,可以指定实体类属性对应的数据库主键字段名,同时还可以配置其他属性,如主键生成策略、是否为自增主键等。

import com.baomidou.mybatisplus.annotation.TableId;

public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    // 其他属性
}

示例中,@TableId注解将id属性与数据库中的id字段进行映射,并指定了主键的生成策略为自增。

@Version注解

@Version注解用于标识乐观锁字段的映射关系。通过该注解,我们可以指定实体类属性对应的数据库乐观锁字段名。

import com.baomidou.mybatisplus.annotation.Version;

public class User {
    @Version
    private Integer version;
    // 其他属性
}

其中@Version注解将version属性与数据库中的version字段进行映射。

@TableLogic注解

@TableLogic注解用于标识逻辑删除字段的映射关系。通过该注解,我们可以指定实体类属性对应的数据库逻辑删除字段名。

import com.baomidou.mybatisplus.annotation.TableLogic;

public class User {
    @TableLogic
    private Integer deleted;
    // 其他属性
}

其中@TableLogic注解将deleted属性与数据库中的deleted字段进行映射。

总结

本文是根据我的学习若依框架的心得,然后写数据库的时候用到的Java中Mybatis-Plus框架中与数据库相关的注解,包括@TableName、@TableField、@TableId、@Version和@TableLogic。如果能了解这些注解的作用和使用方法,可以更加灵活方便地进行数据库操作。在实际开发中,根据具体需求合理运用这些注解,可以大大提高开发效率。

当然,一些代码可能和官方文档相似,大家也可以参考官方文档。 [mybatis-plus官方文档](简介 | MyBatis-Plus (baomidou.com))