Spring 与 mongoDB 整合

首先需要引入jar包

 1 <dependency>
 2     <groupId>org.mongodb</groupId>
 3     <artifactId>mongodb-driver</artifactId>
 4     <version>3.3.0</version>
 5 </dependency>
 6 <dependency>
 7     <groupId>org.springframework.data</groupId>
 8     <artifactId>spring-data-mongodb</artifactId>
 9     <version>1.9.4.RELEASE</version>
10 </dependency>
View Code

spring中注入对象org.springframework.data.mongodb.core.MongoTemplate,该类中包含了mongoDB的增删改查

 1 <!-- MongoDB -->
 2 <mongo:mongo-client id="mongo-client" host="${mongo.host}"
 3         port="${mongo.port}" credentials="${mongo.credentials}">
 4     <mongo:client-options write-concern="NORMAL" />
 5 </mongo:mongo-client>
 6     
 7 <bean id="mongo" class="org.springframework.data.mongodb.core.MongoTemplate">
 8     <constructor-arg ref="mongo-client" />
 9     <constructor-arg name="databaseName" value="${mongo.databaseName}" />
10 </bean>
View Code

需要注意的是:

    host:主机ip

    port:端口号

    credentials:连接mongoDB的一些参数,规则如:“username:password@Authentication”  

如果用的是MongoChef可视化工具,对应如下所示的三个参数。

首先需要引入mongo对象,

@Autowired
private MongoOperations mongo;

删除操作

1 @Override
2     public void deleteQstByTpId(String tpId) {
3         mongo.remove(new Query(Criteria.where("test").is(tpId)),QuestionBean.class,COLLECTION_NAME);
4     }
View Code

增加操作

1 @Override
2     public void insertListZzQst(List<QuestionBean> list) {
3         mongo.insert(list,COLLECTION_NAME);
4     }
View Code

查找操作

1 @Override
2     public List<QuestionBean> findAllQstByTpId(String tpId) {
3         List<QuestionBean> list = mongo.find(new Query(Criteria.where("test").is(tpId)), QuestionBean.class,COLLECTION_NAME);
4         return list;
5     }
View Code

多条件查询

1 @Override
2     public List<QuestionBean> qrySomeQst(List<String> qryList,String testPaperId) {
3         return mongo.find(new Query(Criteria.where("test").is(testPaperId).andOperator(Criteria.where("type").in(qryList))), QuestionBean.class,COLLECTION_NAME);
4     }
View Code

posted on 2017-02-06 16:48  爱上下雨天  阅读(1320)  评论(0)    收藏  举报

导航