springboot整合mongodb增删改查

了解mongodb

MongoDB是一款强大、灵活、且易于扩展的通用型数据库
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

准备

1.下载mongodb

登录MongoDB官网:MongoDB Community Download | MongoDB

选择MongoDB Community Server,选择Windows环境

如果我们的服务器是Windows Server 2008R2 或者Windows 7环境,则选择 

 

傻瓜式安装一路next即可

配置环境变量 

双击path

 

填入安装目录里面的bin目录

接下来就可以在cmd里输入mongo确认开启,然后就可以使用了

 2.搭建springboot项目

选择java8 

选择要导入的依赖,勾选一个lombok即可

这就是创建出来的结构 

3.导入mongodb依赖

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

4.配置yml文件

spring:
  data:
    mongodb:
      uri: mongodb://用户名:密码@服务器IP:端口/数据库名
      # 上方为明确指定某个数据的用户进行连接
      # 也可以使用admin 数据库中的用户进行连接  统一到admin 数据库进行认证
      # admin 用户认证 url 写法: mongodb://账户:密码%40@ip:端口/数据库名?authSource=admin&authMechanism=SCRAM-SHA-1

实体类

需使用@Document("goods")来指定表名这里为goods,@Field与mongodb字段里对应

service层

package com.wjj.mongo.Dao;

import com.wjj.mongo.pojo.goods;
import org.bson.types.ObjectId;

import java.util.List;

public interface goodsDao {
    /**
     * 查询所有
     * @return
     */
    public List<goods> finAll();

    /**
     *新增
     * @param goods
     */
    void save(goods goods);

    /**
     * 根据id删除
     * @param id
     */
    void deleteById(ObjectId id);

    /**
     * 修改
     * @param goods
     */
    void update(goods goods);

    /**
     * 根据名称查询
     * @param name
     * @return
     */
    goods selByName(String name);
}

实现类

package com.wjj.mongo.Dao.impl;

import com.wjj.mongo.Dao.goodsDao;
import com.wjj.mongo.pojo.goods;
import org.bson.types.ObjectId;
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.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
public class goodsDaoImpl implements goodsDao {
    @Resource
    private MongoTemplate mongoTemplate;

    @Override
    public List<goods> finAll() {
        return mongoTemplate.findAll(goods.class);
    }

    @Override
    public void save(goods goods) {
        mongoTemplate.insert(goods);
    }

    @Override
    public void deleteById(ObjectId id) {
        Criteria criteria=new Criteria();
        criteria.and("_id").is(id);
        Query query=new Query(criteria);
        mongoTemplate.remove(query,goods.class);
    }

    @Override
    public void update(goods goods) {
        Query query=new Query(Criteria.where("_id").is(goods.get_id()));
        Update update=new Update();
        update.set("name",goods.getName());
        update.set("price",goods.getPrice());
        update.set("remark",goods.getRemark());
        mongoTemplate.upsert(query,update, com.wjj.mongo.pojo.goods.class);
    }

    @Override
    public goods selByName(String name) {
        Criteria criteria=new Criteria();
        criteria.and("name").is(name);
        Query query=new Query(criteria);
        return mongoTemplate.findOne(query,goods.class);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值