模型类中@Document注解是spring Data mongodb提供的一个注解。
@Document注解指定了这个模型类型所对应的集合名称。
@Document(collection = '名称')
@Id 自动生成的主键ID 主键,不可重复,自带索引,可以在定义的列名上标注,需要自己生成并维护不重复的约束。如果自己不设置@Id主键,mongo会自动生成一个唯一主键,并且插入时效率远高于自己设置主键
@Document
标注在实体类上,类似于hibernate的entity注解,标明由mongo来维护该表。
把一个java类声明为mongodb的文档,可以通过collection参数指定这个类对应的文档。
@Document(collection="mongodb 对应 collection 名")
// 若未加 @Document ,该 bean save 到 mongo 的 userInfo collection
// 若添加 @Document ,则 save 到 User collection
@Document(collection = "User") public class UserInfo
@Indexed
声明该字段需要加索引,加索引后以该字段为条件检索将大大提高速度。
唯一索引的话是@Indexed(unique = true)。
也可以对数组进行索引,如果被索引的列是数组时,MongoDB会索引这个数组中的每一个元素。
也可以对整个Document进行索引,排序是预定义的按插入BSON数据的先后升序排列。
————————————————
@CompoundIndex
复合索引,加复合索引后通过复合索引字段查询将大大提高速度。
@Field
代表一个字段,可以不加,不加的话默认以参数名为列名。
给映射存储到 mongodb 的字段取别名
Lombok
Data注解,ToSting 注解都是Lombok提供的注解
Lombok是一个实用的java工具,使用它可以消除java代码的臃肿,
Lombok提供一系列的注解,使用这些注解,可以不用定义getter/
setter.equals,构造方法等。它会在编译时,在字节码文件自动生成
这些实用方法,简化开发人员的工作。
使用方法
1.在项目中添加Lombok的依赖
作用:项目在编译时,根据Lombok注解生成通用方法
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2.在IDEA开发工具中添加Lombok插件
作用:使用IDEA开发时根据Lombok注解,生成通用方法,不报错。