Spring 整合 MongoDB

pom.xml 导入依赖

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

初始化

//导入
@Autowired
private MongoTemplate mongoTemplate;

//用来封装所有条件的对象
Query query = new Query();

//用来构建条件
Criteria criteria = new Criteria();

//调用方法,看编译器提示,自行选择
mongoTemplate.

查询操作

//模糊查询,Pattern.CASE_INSENSITIVE(忽视大小写)
Pattern pattern = Pattern.compile("^.*"+这里拼接你的查询条件字符串+".*$", Pattern.CASE_INSENSITIVE);

//模糊查询的条件,用 and 相连
criteria.and().regex()
//query.addCriteria 封装条件
query.addCriteria(criteria.and("这里填写你MongoDB集合中的key").regex(pattern));

//精准查询的条件,用 and 相连
criteria.and().is()
//query.addCriteria 封装条件
query.addCriteria(criteria.and("你MongoDB中的key").is("你的条件");

//某个值之间的查询条件
//gt:大于
//lt:小于
//gte:大于或等于
//lte:小于或等于
//Sort:排序
//ne:不等于
//大于方法
Criteria gt = Criteria.where("你MongoDB中的key").gt("你的条件");
//小于方法
Criteria lt = Criteria.where("你MongoDB中的key").lt("你的条件");
//andOperator() 将同 key 的多个条件组合,注:每个 query只能出现一次
query.addCriteria(new Criteria().andOperator(gt,lt));
//正序排序
query.with(new Sort(Sort.Direction.ASC, "loginTime"));
//倒序排序
query.with(new Sort(Sort.Direction.DESC, "loginTime"));

重写 find 方法(存在软删除时使用)

@Component
public class MongoDBTemp extends MongoTemplate {

    public MongoDBTemp(MongoDbFactory mongoDbFactory) {
        super(mongoDbFactory);
    }

    @Override
    public <T> List<T> find(Query query, Class<T> entityClass) {
        query.addCriteria(Criteria.where("delete").is(false));
        return super.find(query, entityClass);
    }
    
    @Override
    public <T> T findOne(Query query, Class<T> entityClass) {
        query.addCriteria(Criteria.where("delete").is(false));
        return super.findOne(query, entityClass);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值