springboot 中MongoDB查询、条件查询、分页
MongoDB使用查询
·
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");
更多推荐
所有评论(0)