A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 编程开发 > 网站开发 > Java springboot Mongodb增删改查代码实例

Java springboot Mongodb增删改查代码实例

时间:2020-07-21 13:14作者:qazwsxzxc人气:36

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

 

 

标签Java,springboot,Mongodb,删改,代码

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号