注解
本文将介绍 MongoPlus
注解包相关类详解(更多详细描述可点击查看源码注释)
注解类包源码:👉 mongo-plus-annotation
@CollectionName
- 描述:集合名注解,标识实体类对应的集合
- 使用位置:实体类
java
@CollectionName("sys_user")
public class User {
private Long id;
private String name;
private Long age;
private String email;
}
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 是 | "" | 表名 |
@ID
- 描述:主键注解,会指向MongoDB中的_id字段
- 使用位置:实体类主键字段
java
@CollectionName("sys_user")
public class User {
@ID
private Long id;
private String name;
private Long age;
private String email;
}
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
type | IdTypeEnum | 否 | 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;
}
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | "" | 数据库字段名 |
exist | boolean | 否 | true | 是否为数据库表字 段 |
convertCollect | boolean | 否 | false | 如果值时对象,接收字段是集合,可以使用此配置,会将对象自动转为集合,只存在这一个值 |
fill | FieldFill | 否 | FieldFill.DEFAULT | 自动填充策略 |
typeHandler | Class<?> | 否 | Void.class | 类型处理器,必须实现{@link com.anwen.mongo.handlers.TypeHandler}接口 |
@MongoTransactional
- 描述:声明式事务,标注到方法上,表示该方法需要受到事务控制
@CollectionLogic
- 描述:逻辑删除,开启全局逻辑删除情况下,用于自定义该文档逻辑删除字段及忽略逻辑删除
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
close | boolean | 否 | fasle | 开启全局配置 并忽略该文档 |
value | String | 否 | "" | 默认逻辑未删除值(该值可无、会自动获取全局配置) |
delval | String | 否 | "" | 默认逻辑未删除值(该值可无、会自动获取全局配置) |
@IgnoreTenant
- 描述:忽略多租户注解,优先级高
@MongoDs
- 描述:多数据源注解
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 是 | "" | 数据源名称 |
dsHandler | Class<?> | 否 | Void.class | 数据源处理类,需要实现{@link com.anwen.mongo.handlers.DataSourceHandler}接口 |