来源:猿天地
链接:http://cxytiandi.com/blog/detail/1733
今天我们来学习下MongoTemplate的添加数据操作,大神请忽略。。。
首先创建一个实体类,我们这边用文章来做实体类,定义如下字段
注意实体类要创建在之前配置转换目录的包下面,上篇文章的applicationContent.xml里的配置,
base-package路径对了框架才会将实体类与mongodb中的集合对应起来。
<!-- 自动扫描以下包的有Doucment注解的类 -->
<mongo:mapping-converter id="mappingConverter" base-package="com.cxytiandi.mongo.document"
type-mapper-ref="defaultMongoTypeMapper"></mongo:mapping-converter>
import java.util.Date;
import java.util.List;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
/**
* 文章信息
* @author yinjihuan
*
*/
@Document(collection = "article_info")
public class Article {
@Id
private String id;
@Field("title")
private String title;
@Field("url")
private String url;
@Field("author")
private String author;
@Field("tags")
private List<String> tags;
@Field("visit_count")
private Long visitCount;
@Field("add_time")
private Date addTime;
//省略get set方法
}
实体类中的注解解释如下:
接下来可以操作数据库了,接着上次,在测试类里写代码
/**
* 初始化文章信息
* @author yinjihuan
*/
public static void initArticle() {
//循环添加
for (int i = 0; i < 10; i++) {
Article article = new Article();
article.setTitle("MongoTemplate的基本使用");
article.setAuthor("yinjihuan");
article.setUrl("http://cxytiandi.com/blog/detail/" + i);
article.setTags(Arrays.asList("java", "mongodb", "spring"));
article.setVisitCount(0L);
article.setAddTime(new Date());
mongoTemplate.save(article);
}
//批量添加
List<Article> articles = new ArrayList<>(10);
for (int i = 0; i < 10; i++) {
Article article = new Article();
article.setTitle("MongoTemplate的基本使用");
article.setAuthor("yinjihuan");
article.setUrl("http://cxytiandi.com/blog/detail/" + i);
article.setTags(Arrays.asList("java", "mongodb", "spring"));
article.setVisitCount(0L);
article.setAddTime(new Date());
articles.add(article);
}
mongoTemplate.insert(articles, Article.class);
}
在数据量大的情况下批量添加性能会更好哦。
运行代码我们进入mongodb看数据保存了没
源码地址:查看原文进行源码下载