• 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({}) 删除表内所有数据
  • 相关阅读:
    Android编译环境配置(Ubuntu 14.04)
    Android中的接口回调技术
    我为什么要拒绝Ctrl+C和Ctrl+V?
    软件设计网站大全
    国内及Github优秀开发人员列表
    Linux常用指令
    Linux系统目录结构
    UML图
    Android软件设计---Dumpsys工具使用
    Android应用程序Monkey测试
  • 原文地址:https://www.cnblogs.com/tszr/p/15450322.html
Copyright © 2020-2023  润新知