zoukankan      html  css  js  c++  java
  • Spring Boot 整合 MongoDB

    MongoDB 简介
    MongoDB 是一个基于分布式文件存储的数据库。由 C++语言编写。旨在为 WEB 应用 提供可扩展的高性能数据存储解决方案。
    MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门 的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关 系数据库的产品。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以 存储比较复杂的数据类型。
    Mongo 最大的特点是它支持的查询语言非常强大,其语法有点 类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且 还支持对数据建立索引。
    
    它的特点是高性能、易部署、易使用,存储数据非常方便。MongoDB 有很多优点,但缺点也是很明显的,比如不能建立实体关系、没有事务管理机制等。
    MongoDB 安装
    MongoDB 提供了 Linux、Windows、OSX 等操作系统的安装包
    操作系统版本的 MongoDB,安装步骤如下:
    1. 进入官网:https://www.mongodb.com/download-center/community,下载 MongoDB 服务端安装包

    安装完成后,在你的安装目录下的 data 的目录下,创建一个 db 文件(例如 F:\Program Files\MongoDB\data\db),用于数据库的存放。因为启动 MongoDB 服务之前必 须创建数据库存放的文件夹,否则命令不会自动创建,而且不能启动成功。
     4 .配置环境变量(mongodb 安装目录下的 bin 目录)

    打开命令窗口,输入:mongod --dbpath F:\Program Files\MongoDB\data\db(这 是自定义安装目录)命令启动 MongoDB 服务
    启动 MongoDB 客户端,另外打开一个 cmd 命令窗口,执行 mongo 命令

    <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>
        <groupId>com.mongo</groupId>
        <artifactId>mongodb</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.0.RELEASE</version>
            <relativePath /> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <!-- 声明项目配置依赖编码格式为 utf-8 -->
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <fastjson.version>1.2.24</fastjson.version>
        </properties>
    
        <dependencies>
            <!--mongodb的依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-mongodb</artifactId>
            </dependency>
            <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>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    spring.data.mongodb.uri=mongodb\://localhost\:27017/test
    package com.tszr.mongo.entity;
    
    import java.util.Date;
    
    public class Book {
        private Integer id;
        private String name;
        private Integer price;
        private Date updateTime;
    
        public Book() {
        }
    
        public Book(Integer id, String name, Integer price, Date updateTime) {
            this.id = id;
            this.name = name;
            this.price = price;
            this.updateTime = updateTime;
        }
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getPrice() {
            return price;
        }
    
        public void setPrice(Integer price) {
            this.price = price;
        }
    
        public Date getUpdateTime() {
            return this.updateTime;
        }
    
        public void setUpdateTime(Date updateTime) {
            this.updateTime = updateTime;
        }
    }
    package com.tszr.mongo.controller;
    
    import com.tszr.mongo.entity.Book;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.tszr.mongo.dao.MongoTestDao;
    
    @RestController
    public class MongoTestController {
        @Autowired
        private MongoTestDao mongoTestDao;
    
        @PostMapping("/mongo/save")
        public String saveObj(@RequestBody Book book) {
            return mongoTestDao.saveObj(book);
        }
    
        @GetMapping("/mongo/findAll")
        public List<Book> findAll() {
            return mongoTestDao.findAll();
        }
    
        @GetMapping("/mongo/findOneByName")
        public Book findOneByName(@RequestParam String name) {
            return mongoTestDao.getBookByName(name);
        }
    
        @PostMapping("/mongo/update")
        public String update(@RequestBody Book book) {
            return mongoTestDao.updateBook(book);
        }
    
        @PostMapping("/mongo/delOne")
        public String delOne(int id) {
            return mongoTestDao.deleteBook(id);
        }
    }
    package com.tszr.mongo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }

     

    MongoDB 客户端 可选用NoSQL Manager for MongoDB。下载地址: https://www.mongodbmanager.com/download,
     MongoDB 常用的一些 SQL 语法,具体示例代码如下:
    1 查询
    show dbs; 查看所有数据库  
    show tables; 查询表 
     db.user.find(); 查询 user 集合(表)  
    db.user.findOne(); 查询第一条数据 
    db.user.find({"age":{$gt:10}}); 根据条件查询  
    show collections; 显示所有集合 
    db.user.find({"age":{$gt:"10"}}) 年龄大于 10 的数据
    2 切换数据库
     use test
    3 增加
    db.createCollection("test") 创建集合(创建数据库)  
    db.user.insert({"id":"1","name":"beixi","age":"18"}) 直接创建表及插入数据
    4 修改
    db.user.update({"id":"1"},{$set:{"name":"jzj"}})
    
    5 删除
    db.dropDatabase()(要先切换到要删除的数据库,然后执行该语句) 
     db.user.drop() 删除集合/表 user  
    db.user.remove({"name":"jzj"}) 删除某一条数据  
    db.user.remove({}) 删除表内所有数据
  • 相关阅读:
    bzoj 1176 cdq分治套树状数组
    Codeforces 669E cdq分治
    Codeforces 1101D 点分治
    Codeforces 1100E 拓扑排序
    Codeforces 1188D Make Equal DP
    Codeforces 1188A 构造
    Codeforces 1188B 式子转化
    Codeforces 1188C DP 鸽巢原理
    Codeforces 1179D 树形DP 斜率优化
    git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
  • 原文地址:https://www.cnblogs.com/tszr/p/15450322.html
Copyright © 2011-2022 走看看