栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot使用Springdata操作MongoDb

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot使用Springdata操作MongoDb

springboot+Mongodb
如果springdata连接mongodb报如下错误
com.mongodb.MongoCommandException: Command failed with error 18 (Authenticat
那就是数据库账号权限的问题,跟代码没有什么关系。

win10本地安装的mongodb,使用springdata连接
另外,不论是docker安装,还是win10本地安装包安装,都要对配置文件进行修改。
win10在安装路径下mongodbbin的mongod.cfg文件中
bindIp这里需要修改,结果如下

net:
  port: 27017
  bindIp: 0.0.0.0

开始整合,maven


    org.springframework.boot
    spring-boot-starter-data-mongodb

这里注意,安装好mongodb后,尽管通过Navicat可以连接,但是使用代码存在bug,这里需要先创建用户和密码。
第一步:use test
第二步:

db.createUser(
     {
       user:"root",
       pwd:"123456",
       roles:[{role:"root",db:"admin"}]
     }
  )

spring:
	data:
    	mongodb:
      		url: mongodb://root:123456@localhost:27017/test


我惊奇的发现好多相关文章,这里好多同学们这里居然是uri,我都不知道你们是怎么连上mongodb和居然不报错能跑起来的。

下一步,一个实体类,document绑定表名

import lombok.Data;
import lombok.ToString;
import org.springframework.data.mongodb.core.mapping.document;

import java.io.Serializable;
@Data
@ToString
@document(collection = "User")
public class MongoDBEntity implements Serializable {
    private Integer id;
    private String Name;
}

来个添加,引入一下实体类

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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
@RestController
@RequestMapping("/mongo")
public class MongoDBController {
    @Autowired
    private MongoTemplate mongoTemplate;

    @RequestMapping(value = "/addAll")
    public R addAll() {
        MongoDBEntity entity = new MongoDBEntity();
        entity.setId(1);
        entity.setName("name");
        mongoTemplate.save(entity);
        return R.ok().putData("list", entity);
    }
}

然后用mongoTemplate的各种api就可以进行各种操作了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号