springboot整合mongodb

1.准备工作:环境配置

下载地址:

链接: https://pan.baidu.com/s/1kt3ZxNumhJtCCcF6WBGVzA 提取码: ne6f

 

解压到目录d盘,也可以其他位置,建议不要c盘(系统盘)

我的目录是:D:\mongodb-4.2.0

解压后文件夹是:

springboot整合mongodb_第1张图片

其中conf、data、log文件夹是不存在的,需要手动创建;

创建conf文件夹,并新建mongo.conf文件,文件内容如下:

dbpath = D:\mongodb-4.2.0\data

logpath = D:\mongodb-4.2.0\log\mongod.log

logappend = true

port=27017

依据上面的配置文件内容,分别创建data和log文件夹。

可选:在path环境变量中,加入D:\mongodb-4.2.0\bin,保存;

以管理员身份打开命令行,并进入到D:\mongodb-4.2.0\bin目录下;进行安装MongoDB服务;

mongod.exe --config "D:\ mongodb-4.2.0\conf\mongod.cfg" --install

然后执行成功后,就可以在win+R中输入services.msc查看MongoDB服务;

输入net start MongoDB开启服务;

使用mongo,即可进入mongodb的操作。如图所示

进入到admin数据库,添加用户名,密码admin123456

use admin

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

创建用户,此时的mongodb仍然是以匿名方式登陆的,如果想要远程登陆用户名和密码,还需要进行如下配置。

1.重新安装mongodb服务,

net stop MongoDB //停止服务

sc delete MongoDB //删除服务

2.重新使用管理员身份打开命令行

mongod.exe --auth --config "D:\ mongodb-4.2.0\conf\mongod.cfg" --install

这样安装完之后就是以用户身份进行登陆了,重启服务后使用mongo进如mongodb

此时没有登陆的情况下,不会输出数据库内容

使用db.auth("admin","123456")进行登陆,重新输入show dbs

发现

登陆成功.

mongo的客户端工具可以使用robomongo  下载地址:https://robomongo.org

springboot整合mongodb_第2张图片

输入host、端口、用户名、密码即可

springboot整合mongodb_第3张图片

springboot整合mongodb_第4张图片

2.整合springboot

新建springboot项目,添加依赖

pom.xml

cn.huangwei
mongoboot
1.0-SNAPSHOT


    1.8



    
        org.springframework.boot
        spring-boot-starter-web
    

    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        2.1.0
    

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

    
        mysql
        mysql-connector-java
        5.1.41
    

application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost/my_test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: 123
  data:
    mongodb:
      uri: mongodb://admin:123456@localhost:27017
      database: test
      authentication-database: admin

注意:此处需要配置spring的数据源,否则的话报如下异常

springboot整合mongodb_第5张图片

这个mongodb的配置网上有很多模板,但是我在本地运行的时候,只有上面那样配置才是可以正常运行的,大家可以参考一下。

目录结构:

springboot整合mongodb_第6张图片

project.java

package huangwei.mongotest;

/**
 * @Description TODO
 * @Author haydon
 * @Date 2019/8/20 20:06
 */
public class Project {
    private Integer pid;
    private String serviceName;

    public Integer getPid() {
        return pid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public String getServiceName() {
        return serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    @Override
    public String toString() {
        return "Project{" +
                "pid=" + pid +
                ", serviceName='" + serviceName + '\'' +
                '}';
    }
}

projectController.java

package huangwei.mongotest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * @Auther: shup
 * @Date: 2019/3/24 23:13
 * @Description: TODO
 */
@RestController
public class ProjectController {

    @Resource
    private MongoTemplate mongoTemplate;

    @GetMapping("/test1")
    public void test1(@RequestParam int pid){

        Project p1 = new Project();
        p1.setPid(pid);
        p1.setServiceName("宿舍楼建设");

        Project project = mongoTemplate.insert(p1);
        System.out.println(project);

    }
}

这样配置完了之后,运行即可。

你可能感兴趣的:(数据库)