maven配置依赖:

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>1.5.22.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Brixton.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<!--		MongoDB starter-->
	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-mongodb</artifactId>
		</dependency>

application.properties配置数据源
spring.data.mongodb.host=xxx.xxx.xxx.xxx
spring.data.mongodb.port=xxxxxx
spring.data.mongodb.database=xxxxx
spring.data.mongodb.username=xxxx
spring.data.mongodb.password=xxxxx

具体实现中引入

import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
@Autowired
private MongoTemplate mongoTemplate;

查询:
一、根据id 或字段查询
1、创建 Query对象
Query query=new Query();
2、设置查询条件
query.addCriteria(Criteria.where(“data”).is(xxx));
3、执行查询
//Object 为实体对象, xxxx 为对应表名
List existList = mongoTemplate.find(query, Object.class, “xxxx”);
二、多条件时间查询

Query query=new Query();
      // code=xxx,并且 userId=xxx   并且checkTime  小于等于    new Date() 并且大于等于  new Date() checkTime 倒序排序   分页获取1条数据    
query.addCriteria(Criteria.where("code").is("xxx").andOperator(Criteria.where("userId").is(xxx),Criteria.where("checkTime").lte(new Date()),Criteria.where("checkTime").gte(new Date())));
query.with(new Sort(Sort.Direction.DESC, "checkTime"));
query.limit(1);
List<Object> existList = mongoTemplate.find(query, Object.class, "xxxx");
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐