spring data mongodb

一.maven中添加依赖

 

  1. spring整合MongoDB
<!-- spring整合MongoDB -->          <dependency>              <groupId>org.springframework.data</groupId>              <artifactId>spring-data-mongodb</artifactId>              <version>${spring.data.version}</version>          </dependency>

2.spring boot 整合mongodb

 

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

查询

mongoTemplate基于 find 有很多方法,

1,先说,两个基础查询类Query【查询】和Criteria【条件】

Query 查询---

其初始化,newQuery(Criteria),或者newQuery().add(Criteria);

可见,Query基本是和Criteria相互配合使用的,(查询加条件);

如果单单是 new Query(),空的查询,就是默认查询所有了【不添加查询条件】

Criteria crt = Criteria.where("isDel").is(false);

crt.and("type").is("shortStay");

 

OR = "$or":or条件
AND = "$and":and条件
GT = "$gt":大于操作
GTE = "$gte":大于等于操作
LT = "$lt":小于操作
LTE = "$lte"小于等于操作
NE = "$ne":不等于操作
IN = "$in":in操作

代码如下:

public class ShortStayListInputVo{

.........

@ApiModelProperty(value="排序字段,字段写法同mongodb")

private String sortField;

@ApiModelProperty(value="排序方向:1升序,-1降序")

private String sortDirection;

}

@Service("shortStayOrderServices")

public class ShortStayOrderServices{

public ResponseModel<OutputParams<List<ShortStayOrder>>> getOrderList(InputParams<ShortStayListInputVo>params){

ResponseModel<OutputParams<List<ShortStayOrder>>> rpm = new ResponseModel<>;

//查询总数做判断如果为0直接返回数据未查到

long rows = shortStayOrderDao.countOrders(params);

if(rows==0){

rpm.setResponseStatus(ResponseStatus.DataNotFound);

return rpm;

}

}

}

public class ShortStayOrderDao{

    public List<ShortStayOrder> getOrderList(InputParams<ShortStayListInputVo> params){

Query query = new  Query();

query.addCriteria(this.condisAssemble(params.getQueryParam()));

query=this.orderCondiCombin(query,params);

return mongoTemplate.find(query,ShortStayOrder.class);

}

    public Query orderCondiCombin(Query query,InputParams<ShortStayListInputVo> params){

List<String> sortField = new ArrayList<String>();

org.springframework.data.domain.Sort.Direction direction = null;

//排序

sortField.add(params.getQueryParam().getSortField());

if("1".equals(params.getQueryParam().getSortField()))

direction = Direction.Asc;

}else if ("-1"){

direction = Direction.DESC;

}else{

direciton = Direction.DESC;

}

}else{

direction = Direction.DESC;

sortField.add("createTime");

}

query.with(new Sort(direction,sortField)).skip(params.getPageIndex()*params.getPageSize()).limit(params.getPageSize());

return query;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值