Java springboot之Mongodb增删改查

1、添加依赖

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

完整pom.xm文件

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.vue</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.49</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.26</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
            <version>2.1.6.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

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

</project>

2、applicaiton.yml

server:
  port: 8081

mybatis-plus:
    typeAliasesPackage: com.vue.demo.entity
    mapperLocations: classpath:mapper/*.xml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: yang156122
    driver-class-name: com.mysql.jdbc.Driver
    # 使用druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
  redis:
    #redis单机配置
    host: localhost
    port: 6379
    # 选择redis的数据库的分库
    database: 5
    #redis连接池配置
    jedis:
      pool:
        max-idle: 10
        min-idle: 5
        max-active: 100
        max-wait: 3000
        timeout: 6005
  data:
    mongodb:
      uri: mongodb://localhost:27017/userArticle

3、Mongodb增删改查

package com.vue.demo.service.serviceimpl;

import com.alibaba.fastjson.JSONObject;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import com.vue.demo.entity.UserArticle;
import com.vue.demo.service.UserArticleService;
import org.springframework.beans.factory.annotation.Autowired;
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.stereotype.Service;

import java.util.List;

/**
 * @author yangwj
 * @date 2020/3/28 11:07
 */

@Service
public class UserArticleServiceImpl implements UserArticleService {
    @Autowired
    private MongoTemplate mongoTemplate;

    @Override
    public UserArticle getArticleByTitle(String title) {
        Query query = new Query();
        query.addCriteria(Criteria.where("articleTitle").is(title));
        UserArticle article = mongoTemplate.findOne(query, UserArticle.class);
        return article;
    }

    @Override
    public UserArticle insertArticle(UserArticle userArticle) {
        List<UserArticle> userArticleList = mongoTemplate.findAll(UserArticle.class);
        if (userArticleList.isEmpty()) {
            userArticle.setId(1);
        } else {
            userArticle.setId(userArticleList.size() + 1);
        }
        UserArticle article = mongoTemplate.save(userArticle);
        return article;
    }

    @Override
    public List<UserArticle> getAllArticles() {
        List<UserArticle> userArticles = mongoTemplate.findAll(UserArticle.class);
        return userArticles;
    }

    @Override
    public DeleteResult delByName(String name) {
        Query query = new Query();
        query.addCriteria(Criteria.where("articleTitle").is(name));
        DeleteResult result =mongoTemplate.remove(query,UserArticle.class);
        return result;
    }

    @Override
    public UpdateResult updateReadNumByTitle(String title) {
        Query query = new Query();
        query.addCriteria(Criteria.where("articleTitle").is(title));
        UserArticle article = mongoTemplate.findOne(query, UserArticle.class);
        Integer readNum = article.getReadNum() == null? 1: article.getReadNum()+1;
        article.setReadNum(readNum);
        Update update = new Update();
        update.set("readNum",article.getReadNum());
        UpdateResult result =  mongoTemplate.updateFirst(query,update,UserArticle.class);
        return result;
    }

    @Override
    public UpdateResult addUserComment(String title, String comment) {
        JSONObject jsonObject = new JSONObject();
        Query query = new Query();
        query.addCriteria(Criteria.where("articleTitle").is(title));
        UserArticle article = mongoTemplate.findOne(query, UserArticle.class);
        if(article.getComment() == null){
            jsonObject.put(title,comment);
        }else {
            jsonObject = (JSONObject) JSONObject.parse(article.getComment());
            jsonObject.put(title,comment);
        }
        Integer commentNum = article.getCommentNum() == null ? 1:article.getCommentNum()+1;
        Update update = new Update();
        update.set("comment",jsonObject.toJSONString());
        update.set("commentNum",commentNum);
        UpdateResult result =  mongoTemplate.updateFirst(query,update,UserArticle.class);
        return result;
    }
}

github地址https://github.com/812406210/vue-demo.git

完毕!

原文地址:https://www.cnblogs.com/ywjfx/p/12593155.html

时间: 2024-08-04 09:15:12

Java springboot之Mongodb增删改查的相关文章

Java连接MySQL数据库增删改查通用方法

Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类下面写好多方法,要是多个数据库,就要写多个类多个方法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的方法进行了一系列的封装,使用户传入一个对象值Object就可以得到想要的. 我在之前写过一篇普通的Java连接MySQL数据库,大家可以看看,以便对比参考之后就知道差距了  数据库--MySQL-->Java篇 接下来我给大家讲讲如何将

深入浅出MongoDB(六)java操作mongodb增删改查

java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作. 首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,use testMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示.

Java操作MongoDB增删改查完美Demo

--因为实习工作需要,在学MongoDB,参考了公司的一个MongDB服务类,写了一个整合的Demo,涉及到的大部分的增删改查操作,而且还算规范,给大家参考!源代码:(完整项目文件下载链接:点击打开链接)http://download.csdn.net/detail/zhangliangzi/9555872 使用说明: 一.MongoDB数据库参数配置 1.推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置

SpringBoot JPA + H2增删改查示例

下面的例子是基于SpringBoot JPA以及H2数据库来实现的,下面就开始搭建项目吧. 首先看下项目的整体结构: 具体操作步骤: 打开IDEA,创建一个新的Spring Initializr项目,填写好groupID等信息,依赖勾选web和H2,一路next: pom.xml关键依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactI

SpringBoot JPA实现增删改查、分页、排序、事务操作等功能

今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查.分页.排序.事务操作等功能.下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and 关键字,比如 findByHeightAndSex(int height,char sex): public List<User> findByHeightAndSex(int height,char sex); // Or --- 等价于 SQL 中的 or 关键字,比如 findByHeig

[MongoDB]增删改查

摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD 通过上篇文章,我们知道collection中存储的每个对象是一个document对象.document是以键值对存在的json形式的对象.我们都知道json的value中存储的数据,可能是单个对象,字符串,数组,也可能是嵌套的json等类型的数据. insert 插入操作又分为:单个插入和批量插入.

第二部分 Mongodb增删改查

学习内容:1.mongodb增加操作2.mongodb删除操作3.mongodb查询操作增删改查的高级应用Capped Collection(固定集合)GridFS 大文件上传或下载 1: insertMongoDB是面向文档存储的数据库,文档结构形式叫BSON(类似JSON)db.c1.insert({name:"user1"});db.c1.save({_id:1, name:"user1"}); //save()如果已经存在就不会插入,如果不存在就插入//这里

MySQL---数据库从入门走上大神系列(二)-用Java对MySQL进行增删改查

上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢. 本节将用Java演示对MySQL进行增删改查. 简单的来说,分为4个步骤: 1.加载连接器(驱动)   通过Driver类 (最好用类反射来加载,更加灵活) 2.建立与数据库的连接 3.获取语句对象 4.对数据库进行操作(增删改查) 其实第一步现在可以不用写了,高版本的MySQL已经在内部帮我们写好了第一步,但是,为了兼容性更好(兼容低版本的MySQL)我们最好还是写上第一步. 我们先看一下原数据

java对mysql的增删改查

-----连接数据库 package connectdb;import java.sql.*;class Dbcon { // 此处连接数据库,独立开一个类,以后操作数据库的每次连接就不用写这么多 public Connection getCon() { Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); // 其中test是我们要链接的数据库,user是数据库用户名,password是数据库密码.