SpringBoot 2.1.7 集成 Spring Data MongoDB

本文介绍了如何在SpringBoot 2.1.7项目中集成Spring Data MongoDB,包括创建Web项目、配置MongoDB连接、定义Domain、创建Repository、Service和Controller。详细步骤和代码参考链接提供。
摘要由CSDN通过智能技术生成

SpringBoot 2.1.7 集成 Spring Data MongoDB

使用SpringBoot集成 Spring Data MongoDB有两种方式,本文使用IDEA搭建:

  • 1.Spring Initializr
  • 2.使用IDEA插件

环境信息
OS:Win10
Jdk:JavaSE 8
Ide:Idea Ultimate
Spring Boot:2.1.7.RELEASE

2.创建Web项目

Idea集成了Spring Initializr,新建项目:

  • 1.选择Spring Initializr

在这里插入图片描述

  • 2.填写基本信息
    在这里插入图片描述

  • 3.选择需要的工具
    选择WebSpring Data MongoDB等必要依赖:

在这里插入图片描述

  • 4.确认完成

忽略我的其他项目:
在这里插入图片描述

3.创建数据库&表

3.1 创建数据库

手动命令创建数据库studentService
在这里插入图片描述

3.2 创建数据表

右键数据库,打开Open Shell执行Js脚本:

  • 1.创建表
var names = db.getCollectionNames();
// -- Create Collections --
if (!names.includes('students')) {
   
    db.createCollection("students", {
   });
    print("create collection students");
}
if (!names.includes('scores')) {
   
    db.createCollection("scores", {
   });
    print("create collection scores");
}

在这里插入图片描述

  • 2.创建表索引
// -- Create students indexes --
var studentsIndexNames = db.userRoles.getIndexes().map(function (i) {
   
    return i.name
});

if (!studentsIndexNames.includes('unique_name_address')) {
   
    db.students.createIndex({
   
        "name": 1,
        "address": 1
    }, {
   
        name: "unique_name_address",
        background: true,
        unique: true
    });
    print('create students index unique_name_address');
}

// -- Create scores indexes --
var scoresIndexNames = db.scores.getIndexes().map(function (i) {
   
    return i.name
});

if (!scoresIndexNames.includes('unique_studentId_subject')) {
   
    db.scores.createIndex({
   
        "studentId": 1,
        "subject": 1
    }, {
   
        name: "unique_studentId_subject",
        background: true,
        unique: true
    });
    print('create scores index unique_studentId_subject');
}

在这里插入图片描述

3.3 插入初始化数据

var studentsResult = db.students.findOne({
   "name": "Even"});
if (studentsResult == null) {
   
    db.students.insert([  /* 1 */
                           {
   
                               "name" : "Even",
                               "age" : 9.0,
                               "sex" : "Male",
                               "address" : "Xian",
                               "hobbies" : [
                                   "YuWen",
                                   "English"
                               ]
                           },
                           /* 2 */
                           {
   
                               "name" : "Weison",
                               "age" : 10.0,
                               "sex" : "Male",
                               "address" : "Henan",
                               "hobbies" : [
                                   "Wuli",
                                   "English"
                               ]
                           },
                           /* 3 */
                           {
   
                               "name" : "Angule",
                               "age" : 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值