springboot简单整合mongodb

pom文件引入spring-boot-starter-data-mongodb

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-data-mongo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <file.encoding>UTF8</file.encoding>
        <spring-cloud.version>Finchley.SR2</spring-cloud.version>
    </properties>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
    </parent>

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

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.properties配置文件如下:

server.port=8081

#mongodb
spring.data.mongodb.host=localhost
spring.data.mongodb.port=17117
spring.data.mongodb.database=admin
spring.data.mongodb.username=username
spring.data.mongodb.password=password

新建一个model

package top.littlematch.mongo.model;

/**
 * @ Description:${description}
 * @ Author     :Match
 * @ Date       :下午 18:07 2018/12/5 0005
 * @Version: $version$
 */
public class Hello {
    
    
    private String name;

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }
}

在controller引入org.springframework.data.mongodb.core包

用MongoTemplate进行简单操作

package top.littlematch.mongo.controller;

import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import top.littlematch.mongo.model.Hello;

import javax.annotation.Resource;

/**
 * @ Description:${description}
 * @ Author     :Match
 * @ Date       :下午 18:05 2018/12/5 0005
 * @Version: $version$
 */
@RestController
@RequestMapping("hello")
public class HelloController {
    
    
    /**
     * 使用mongoTemplate去操作mongodb
     */
    @Resource
    private MongoTemplate mongoTemplate;

    /**
     * mongodb表名
     */
    final static String HELLO = "HELLO";

    /**
     * 获取数据
     *
     * @return
     */
    @RequestMapping("/insert")
    public void insertHello(@RequestParam(name = "name") String name) {
    
    
        Hello hello = new Hello();
        hello.setName(name);
        mongoTemplate.insert(hello, HELLO);
    }

    /**
     * 获取数据
     *
     * @return
     */
    @RequestMapping("/get")
    public Hello getHello(@RequestParam(name = "name") String name) {
    
    
        Query query = new Query();
        query.addCriteria(Criteria.where("name").is(name));
        return mongoTemplate.findOne(query, Hello.class, HELLO);
    }

    /**
     * 更新数据
     *
     * @return
     */
    @RequestMapping("/update")
    public void updateHello(@RequestParam(name = "name") String name) {
    
    
        Query query = new Query();
        query.addCriteria(Criteria.where("name").is(name));
        Hello hello = new Hello();
        hello.setName(name);
        Update update = new Update();
        update.set("name", name);
        mongoTemplate.updateFirst(query, update, Hello.class, HELLO);
    }

    /**
     * 删除数据
     *
     * @return
     */
    @RequestMapping("/delete")
    public void deleteHello(@RequestParam(name = "name") String name) {
    
    
        Query query = new Query();
        query.addCriteria(Criteria.where("name").is(name));
        mongoTemplate.remove(query, Hello.class, HELLO);
    }

}

启动即可

package top.littlematch.mongo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @ Description:${description}
 * @ Author     :Match
 * @ Date       :下午 15:45 2018/12/1 0001
 * @Version: $version$
 */

@SpringBootApplication
public class Application {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(Application.class, args);
    }

}

猜你喜欢

转载自blog.csdn.net/Little_Matches/article/details/84848235