基于springboot1.5的mongodb集成与工具类的封装

本文介绍了如何在SpringBoot 1.5项目中集成MongoDB,详细讲解了配置过程、`config.properties`的设置,以及自定义MongoDB工具类的封装和使用方法,提供了完整的参考链接。
摘要由CSDN通过智能技术生成

1、配置(集成):

一.pom.xml
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
    <relativePath/>
</parent>

<dependencies>
…
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
</dependency>
…
</dependencies>

2.Mongo配置类
在config包中拷入配置文件夹mongodb
并在application-xxx.yml中配置:
spring:
  data:
    mongodb:
      primary:
        uri: mongodb://IP:PORT/DBNAME
        authentication-database: false


三.使用
1.在使用的类中注入:
@Resource
private MongoTemplate mongoTemplate;


2.注意:mongo存储Decimal128,java运算用Decimal 
@Autowired
private Decimal128ToBigDecimalConverter decimal128ToBigDecimalConverter;
例如:
Decimal a = decimal128ToBigDecimalConverter.convert((Decimal128)***)


3.Mongo的聚合查询:
Aggregation agg = Aggregation.newAggregation(
        Aggregation.match(criteria),
        Aggregation.group("ingredientName").sum("saleCupNum").as("saleNumber"),
        Aggregation.project("ingredientName", "saleNumber").and("ingredientName").previousOperation(),
        Aggregation.sort(Sort.Direction.DESC, "saleNumber")
);
AggregationResults<DataSalesStructureHistogramIngredientBo> outputType = mongoTemplate.aggregate(agg, "drink_day_statics_view", DataSalesStructureHistogramIngredientBo.class);

2、config.properis配置

spring.data.mongodb.uri=mongodb://localhost:27017/ttt   #连接地址  没密码
spring.data.mongodb.authentication-database=false  #没密码的意思



package com.sdyy.springboot.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.convert.MongoConverter;

import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
import com.mongodb.ReadPreference;
import com.sdyy.common.mongodb.MongoTemplateHelper;


/**
 * @author li
 * @ClassName PrimaryMongoConfig
 * @date:  2019年7月8日 下午12:55:33
 */
@Configuration
public class PrimaryMongoConfig {

	@Autowired
	private MappingMongoConverter customConverter;
	@Primary
    @Bean
    @ConfigurationProperties(prefix = "spring.data.mongodb")
    public MongoProperties primaryMongoProperties() {
        return new MongoProperties();
    }

    @Bean(name = "mongoTemplate")
    @Primary
    public MongoTemplate primaryMongoTemplate() throws Exception {
        return new MongoTemplate(primaryFactory(primaryMongoProperties()), (MongoConverter) customConverter);
    }

    @Bean
    @Primary
    public MongoDbFactory primaryFactory(MongoProperties mongoProperties) throws Exception {
        System.out.println("uri:" + primaryMongoProperties().getUri());
        MongoClientOptions.Builder options = new MongoClie
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值