linux安装Mongodb并SpringBoot项目使用

本文对比了MongoDB与MySQL的适用场景,详细介绍了MongoDB的安装配置过程,包括环境变量设置、目录配置、conf文件编辑,并演示了基本操作如增删查改。此外,还提供了SpringBoot集成MongoDB的示例,涵盖Maven依赖、实体定义、Repository接口、Controller实现及PostMan测试。

首先。应该了解下什么情况下使用mongodb,什么情况下用mysql:
业务需要事物,使用mysql,因为mongodb不支持事物
数据量大,但是数据本身价值不大,使用mongodb
数据是非结构化的,且数据量大,使用mongodb
业务未来走向不明确,使用mongodb,方便扩展

1.下载安装

## 使用wget下载4.0.6版本
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.6.tgz
## 解压
tar -zxvf mongodb-linux-x86_64-4.0.6.tgz
## 重命名为 mongodb-4.0.6
mv mongodb-linux-x86_64-4.0.6 mongodb-4.0.6

2.配置变量

vim /etc/profile
## 1、先定义MONGO_HOME;2、在PATH中追加$MONGO_HOME/bin:
## 多个目录使用:分割
export MONGO_HOME=/opt/mongodb-4.0.6                                                                                                                                     
export JAVA_HOME=/opt/jdk/jdk1.8.0_144                                                                                                                                   
export PATH=$JAVA_HOME/bin:$PATH:$MONGO_HOME/bin: 

3.配置目录

## 创建 db 和 logs目录
mkdir -p /data/mongodb/db
mkdir -p /data/mongodb/logs

4.配置conf

在mongo安装bin目录创建 mongodb.conf文件

cd /opt/mongodb-4.0.6/bin
vim mongodb.conf

具体配置mongodb.conf如下

dbpath = /data/mongodb/db #数据文件存放目录
logpath = /data/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问

5.启动

./mongod -f mongodb.conf &
## 进入mongodb数据库
mongo

## use product 没有product 讲创建
use product
## 看看有哪些数据库
show dbs

db.createUser({user:"root",pwd:"123456",roles:["root","userAdminAnyDatabase"]}) -- 建立root并且分配角色

6.来个demo

## 新增
db.students.save({"id":"1","name":"jack"})

## 查询
db.students.find({"id":"1"})

7.SpringBoot示例

7.1、maven引入
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
7.2、定义entity
/**
 * @description: 学生类
 * @Date : 2019/3/10 下午8:13
 * @Author : 石冬冬-Seig Heil
 */
@Document(collection = "students")
@Data
public class Student {
    private String id;
    private String name;
}
7.3、定义Repository
/**
 * @description: StudentRepository
 * @Date : 2019/3/10 下午8:17
 * @Author : 石冬冬-Seig Heil
 */
@Repository
public interface StudentRepository extends CrudRepository<Student,String>{
}
7.4、定义Controller
/**
 * @description: StudentController
 * @Date : 2019/3/10 下午8:16
 * @Author : 石冬冬-Seig Heil
 */
@RestController
@ResponseBody
@RequestMapping("/student")
public class StudentController {

    @Autowired
    StudentRepository studentRepository;
    @PostMapping("save")
    public String save(@RequestBody Student student){
        studentRepository.save(student);
        return "ok";
    }

    @PostMapping("findAll")
    public Iterable<Student> findAll(){
        return studentRepository.findAll();
    }
}
7.5、properties配置
spring.data.mongodb.uri=mongodb://admin:123456@192.168.49.198:27017/product?maxPoolSize=256
7.6、PostMan来一下

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值