• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > 详解springboot整合mongodb

详解springboot整合mongodb

作者:方志朋 字体:[增加 减小] 来源:互联网 时间:2017-05-28

方志朋 通过本文主要向大家介绍了mongodb springboot,springboot详解,springboot注解详解,springboot整合redis,springboot整合shiro等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这篇文章主要介绍springboot如何整合MongoDB。

准备工作

  1. 安装 MongoDB
  2. jdk 1.8
  3. maven 3.0
  4. idea

环境依赖

在pom文件引入spring-boot-starter-data-mongodb依赖:

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

数据源配置

如果mongodb端口是默认端口,并且没有设置密码,可不配置,sprinboot会开启默认的。

spring.data.mongodb.uri=mongodb://localhost:27017/springboot-db
</div>

mongodb设置了密码,这样配置:

spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/dbname
</div>

定义一个简单的实体

mongodb

package com.forezp.entity;

import org.springframework.data.annotation.Id;


public class Customer {

  @Id
  public String id;

  public String firstName;
  public String lastName;

  public Customer() {}

  public Customer(String firstName, String lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  }

  @Override
  public String toString() {
    return String.format(
        "Customer[id=%s, firstName='%s', lastName='%s']",
        id, firstName, lastName);
  }

}

</div>

数据操作dao层

public interface CustomerRepository extends MongoRepository<Customer, String> {

  public Customer findByFirstName(String firstName);
  public List<Customer> findByLastName(String lastName);

}
</div>

写一个接口,继承MongoRepository,这个接口有了几本的CURD的功能。如果你想自定义一些查询,比如根据firstName来查询,获取根据lastName来查询,只需要定义一个方法即可。注意firstName严格按照存入的mongodb的字段对应。在典型的Java的应用程序,写这样一个接口的方法,需要自己实现,但是在springboot中,你只需要按照格式写一个接口名和对应的参数就可以了,因为springboot已经帮你实现了。

测试

@SpringBootApplication
public class SpringbootMongodbApplication implements CommandLineRunner {


  @Autowired
  private CustomerRepository repository;

  public static void main(String[] args) {
    SpringApplication.run(SpringbootMongodbApplication.class, args);
  }


  @Override
  public void run(String... args) throws Exception {
    repository.deleteAll();

    // save a couple of customers
    repository.save(new Customer("Alice", "Smith"));
    repository.save(new Customer("Bob", "Smith"));

    // fetch all customers
    System.out.println("Customers found with findAll():");
    System.out.println("-------------------------------");
    for (Customer customer : repository.findAll()) {
      System.out.println(customer);
    }
    System.out.println();

    // fetch an individual customer
    System.out.println("Customer found with findByFirstName('Alice'):");
    System.out.println("--------------------------------");
    System.out.println(repository.findByFirstName("Alice"));

    System.out.println("Customers found with findByLastName('Smith'):");
    System.out.println("--------------------------------");
    for (Customer customer : repository.findByLastName("Smith")) {
      System.out.println(customer);
    }
  }

</div>

在springboot的应用程序,加入测试代码。启动程序,控制台打印了:

Customers found with findAll(): 
——————————- 
Customer[id=58f880f589ffb696b8a6077e, firstName='Alice', lastName='Smith'] 
Customer[id=58f880f589ffb696b8a6077f, firstName='Bob', lastName='Smith'] 
Customer found with findByFirstName(‘Alice'): 
——————————– 
Customer[id=58f880f589ffb696b8a6077e, firstName='Alice', lastName='Smith'] 
Customers found with findByLastName(‘Smith'): 
——————————– 
Customer[id=58f880f589ffb696b8a6077e, firstName='Alice', lastName='Smith'] 
Customer[id=58f880f589ffb696b8a6077f, firstName='Bob', lastName='Smith']
</div>

测试通过。

源码下载:https://github.com/forezp/SpringBootLearning

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解springboot整合mongodb
  • 详解springboot整合mongodb

相关文章

  • 2017-05-28详谈Java多线程的几个常用关键字
  • 2017-05-28mybatis分页效果实现代码
  • 2017-05-28浅谈java中的路径表示
  • 2017-05-28Java生产1-100的随机数简单实例(分享)
  • 2017-05-28java 实现定时的方法及实例代码
  • 2017-05-28mybatis自动生成时如何设置不生成Example类详解
  • 2017-05-28springboot集成activemq的实例代码
  • 2017-05-28Java从网络读取图片并保存至本地实例
  • 2017-05-28java利用url实现网页内容的抓取
  • 2017-05-28java 实现判断回文数字的实例代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • java application maven项目打自定义zip包实例(推荐)
    • Java Object类详解_动力节点Java学院整理
    • java实现对服务器的自动巡检邮件通知
    • java 值Document解析xml详细介绍
    • 详解spring整合shiro权限管理与数据库设计
    • 实例解析JAVA中代码的加载顺序
    • springMvc注解之@ResponseBody和@RequestBody详解
    • MyBatis中的模糊查询语句
    • java 对文件夹目录进行深度遍历实例代码
    • java中字符串转整数及MyAtoi方法的实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有