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;
}
属性类型必须指定默认值描述
typeIdTypeEnumIdTypeEnum.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""数据库字段名
existbooleantrue是否为数据库表字 段
convertCollectbooleanfalse如果值时对象,接收字段是集合,可以使用此配置,会将对象自动转为集合,只存在这一个值
fillFieldFillFieldFill.DEFAULT自动填充策略
typeHandlerClass<?>Void.class类型处理器,必须实现{@link com.anwen.mongo.handlers.TypeHandler}接口

@MongoTransactional

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

@CollectionLogic

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

@IgnoreTenant

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

@MongoDs

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