常用注解
@Document
把一个java类声明为mongodb的文档,可以通过collection参数指定这个类对应的文档,标注在实体类上,类似于hibernate的entity注解。
@Id
文档的唯一标识,在mongodb中为ObjectId,它是唯一的,不可重复,自带索引,通过时间戳+机器标识+进程ID+自增计数器(确保同一秒内产生的Id不会冲突)构成。
@Transient
映射忽略的字段,该字段不会保存到mongodb,只作为普通的javaBean属性。
@Field
映射 mongodb中的字段名,可以不加,不加的话默认以参数名为列名。
@Indexed
声明该字段需要索引,建索引可以大大的提高查询效率。
@CompoundIndex
复合索引的声明,建复合索引可以有效地提高多字段的查询效率。
@GeoSpatialIndexed
声明该字段为地理信息的索引。
@DBRef
关联另一个document对象。类似于mysql的表关联,但并不一样,mongo不会做级联的操作。
示例
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "log_sys_user")
public class SysUserLog {
/**
* @Fields id : 主键
*/
private String id;
/**
* @Fields userId : 用户ID
*/
private String userId;
/**
* @Fields userName : 用户姓名
*/
private String userName;
/**
* @Fields userIp : 用户IP
*/
private String userIp;
/**
* @Fields operationUrl : URL
*/
private String operationUrl;
/**
* @Fields operationType : 操作类型
*/
private String operationType;
/**
* @Fields operationContent : 操作内容
*/
private String operationContent;
/**
* @Fields createTime : 创建时间
*/
private Date createTime;
/**
* @Title: getId <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
@Id
public String getId() {
return id;
}
/**
* @Title: setId <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setId(String id) {
this.id = id;
}
/**
* @Title: getUserId <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public String getUserId() {
return userId;
}
/**
* @Title: setUserId <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* @Title: getUserName <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
@Transient
public String getUserName() {
return userName;
}
/**
* @Title: setUserName <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* @Title: getUserIp <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public String getUserIp() {
return userIp;
}
/**
* @Title: setUserIp <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setUserIp(String userIp) {
this.userIp = userIp;
}
/**
* @Title: getOperationUrl <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public String getOperationUrl() {
return operationUrl;
}
/**
* @Title: setOperationUrl <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setOperationUrl(String operationUrl) {
this.operationUrl = operationUrl;
}
/**
* @Title: getOperationType <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public String getOperationType() {
return operationType;
}
/**
* @Title: setOperationType <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setOperationType(String operationType) {
this.operationType = operationType;
}
/**
* @Title: getOperationContent <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public String getOperationContent() {
return operationContent;
}
/**
* @Title: setOperationContent <BR>
* @Description: please write your description <BR>
* @return: String <BR>
*/
public void setOperationContent(String operationContent) {
this.operationContent = operationContent;
}
/**
* @Title: getCreateTime <BR>
* @Description: please write your description <BR>
* @return: Date <BR>
*/
public Date getCreateTime() {
return createTime;
}
/**
* @Title: setCreateTime <BR>
* @Description: please write your description <BR>
* @return: Date <BR>
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}