Skip to content
广告❤️成为赞助商

注解 ​

本文将介绍 MongoPlus 注解包相关类详解(更多详细描述可点击查看源码注释)

注解类包源码:👉 mongo-plus-annotation

@CollectionName ​

  • 描述:集合名注解,标识实体类对应的集合
  • 使用位置:实体类
java
@CollectionName("sys_user")
public class User {
    private Long id;
    private String name;
    private Long age;
    private String email;
}
属性类型必须指定默认值描述
valueString是""表名

@ID ​

  • 描述:主键注解,会指向MongoDB中的_id字段
  • 使用位置:实体类主键字段
java
@CollectionName("sys_user")
public class User {
    @ID
    private Long id;
    private String name;
    private Long age;
    private String email;
}
属性类型必须指定默认值描述
typeIdTypeEnum否IdTypeEnum.OBJECT_ID指定主键类型

IdType ​

值描述
OBJECT_ID生成mongoDB自带的_id
ASSIGN_UUID生成UUID
ASSIGN_ULID生成ULID(据说效率比UUID高的高)
ASSIGN_ID分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)

@CollectionField ​

  • 描述:字段注解(非主键)
java
@CollectionName("sys_user")
public class User {
    @ID
    private Long id;
    @CollectionField("nickname")
    private String name;
    private Long age;
    private String email;
}
属性类型必须指定默认值描述
valueString否""数据库字段名
existboolean否true是否为数据库表字 段
convertCollectboolean否false如果值时对象,接收字段是集合,可以使用此配置,会将对象自动转为集合,只存在这一个值
fillFieldFill否FieldFill.DEFAULT自动填充策略
typeHandlerClass<?>否Void.class类型处理器,必须实现{@link com.mongoplus.handlers.TypeHandler}接口
ignoreNullboolean否true忽略null属性
isObjectIdboolean否false是否是ObjectId

@MongoTransactional ​

  • 描述:声明式事务,标注到方法上,表示该方法需要受到事务控制

@CollectionLogic ​

  • 描述:逻辑删除,开启全局逻辑删除情况下,用于自定义该文档逻辑删除字段及忽略逻辑删除
属性类型必须指定默认值描述
valueString否""默认逻辑未删除值(该值可无、会自动获取全局配置)
delvalString否""默认逻辑未删除值(该值可无、会自动获取全局配置)
delTypeLogicDataType否DEFAULT逻辑删除字段值类型

@IgnoreTenant ​

  • 描述:忽略多租户注解,优先级高

@MongoDs ​

  • 描述:多数据源注解
属性类型必须指定默认值描述
valueString是""数据源名称
dsHandlerClass<?>否Void.class数据源处理类,需要实现{@link com.mongoplus.handlers.DataSourceHandler}接口