广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >mongodb的java客户端
  • 559
分享到

mongodb的java客户端

摘要

6. mongoDB的java客户端 1. SpringBoot操作monGodb 1. Maven配置 org.springframework.boot spring-boot-starter-data-mon


	mongodb的java客户端
[数据库教程]

6. mongoDB的java客户端

1. SpringBoot操作monGodb


1. Maven配置


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

2. application.properties中添加配置

spring.data.mongodb.uri=mongodb://name:[email protected]:27017/test

多个IP集群的可以采用下面的配置:

spring.data.mongodb.uri=mongodb://user:[email protected]:port1,ip2:port2/database

3. 创建数据库操作的实体类

import java.io.Serializable;
public class User implements Serializable {
      private static final long serialVersionUID = -3258839839160856613L;
      private Long id;
      private String userName;
      private String passWord;

      public Long getId() {
              return id;
      }

      public void setId(Long id) {
              this.id = id;
      }

      public String getUserName() {
              return userName;
      }

      public void setUserName(String userName) {
              this.userName = userName;
      }

      public String getPassWord() {
              return passWord;
      }

      public void setPassWord(String passWord) {
              this.passWord = passWord;
      }

      @Override
      public String toString() {
              return "UserEntity{" +
                      "id=" + id +
                      ", userName=‘" + userName + ‘‘‘ +
                      ", passWord=‘" + passWord + ‘‘‘ +
                      ‘}‘;
      }
}

4. 实体类相关的增删改查操作

import com.mongodb.client.result.UpdateResult;
import com.neo.repository.UserRepository;
import com.neo.model.User;
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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;

@Component
public class UserRepositoryImpl implements UserRepository {

  @Autowired
  private MongoTemplate mongoTemplate;

  
  @Override
  public void saveUser(User user) {
      mongoTemplate.save(user);
  }

  
  @Override
  public User findUserByUserName(String userName) {
      Query query=new Query(Criteria.where("userName").is(userName));
      User user = mongoTemplate.findOne(query , User.class);
      return user;
  }

  
  @Override
  public long updateUser(User user) {
      Query query=new Query(Criteria.where("id").is(user.getId()));
      Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord());
      //更新查询返回结果集的第一条
      UpdateResult result =mongoTemplate.updateFirst(query,update,User.class);
      //更新查询返回结果集的所有
      // mongoTemplate.updateMulti(query,update,UserEntity.class);
      if(result!=null)
          return result.getMatchedCount();
      else
          return 0;
  }

  
  @Override
  public void deleteUserById(Long id) {
      Query query=new Query(Criteria.where("id").is(id));
      mongoTemplate.remove(query,User.class);
  }
}

2. 多数据源MongoDB的使用

1. Maven配置

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

2. 配置两条数据源

mongodb:
primary:
  host: localhost
  port: 27017
  database: test
secondary:
  host: localhost
  port: 27017
  database: data

3. 创建文件实体类

import lombok.Data;
import org.springframework.boot.autoconfigure.mongo.MongoProperties;

@Data //生成get、set方法等
public class MultipleMongoProperties {

  private MongoProperties primary = new MongoProperties();
  private MongoProperties secondary = new MongoProperties();

}

4. 配置两个数据库

数据库1

@Configuration
@EnableMongoRepositories(basePackages = "com.tedu.huawei.repository.primary",
      mongoTemplateRef = PrimaryMongoConfig.MONGO_TEMPLATE) //basePackages对应第一个库的repository所在的地址
public class PrimaryMongoConfig {
  protected static final String MONGO_TEMPLATE = "primaryMongoTemplate";
}

数据库2

@Configuration
@EnableMongoRepositories(basePackages = "com.tedu.huawei.repository.secondary",
      mongoTemplateRef = SecondaryMongoConfig.MONGO_TEMPLATE)
public class SecondaryMongoConfig {
  protected static final String MONGO_TEMPLATE = "secondaryMongoTemplate";
}

5. 构造对应的MongoTemplate

import com.mongodb.MongoClient;
import com.tedu.huawei.entity.MultipleMongoProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;

@Configuration
public class MultipleMongoConfig {

  @Autowired
  private MultipleMongoProperties mongoProperties;

  @Bean
  @ConfigurationProperties(prefix = "mongodb")
  public MultipleMongoProperties connectionSettings(){
      return new MultipleMongoProperties();

  }

  @Primary
  @Bean(name = PrimaryMongoConfig.MONGO_TEMPLATE)
  public MongoTemplate primaryMongoTemplate() throws Exception {
      return new MongoTemplate(primaryFactory(this.mongoProperties.getPrimary()));
  }

  @Bean
  @Qualifier(SecondaryMongoConfig.MONGO_TEMPLATE)
  public MongoTemplate secondaryMongoTemplate() throws Exception {
      return new MongoTemplate(secondaryFactory(this.mongoProperties.getSecondary()));
  }

  @Bean
  @Primary
  public MongoDbFactory primaryFactory(MongoProperties mongo) throws Exception {
      return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()),
              mongo.getDatabase());
  }

  @Bean
  public MongoDbFactory secondaryFactory(MongoProperties mongo) throws Exception {
      return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()),
              mongo.getDatabase());
  }
}

mongodb的java客户端

原文地址:https://blog.51cto.com/14901322/2520835

--结束END--

本文标题: mongodb的java客户端

本文链接: https://www.lsjlt.com/news/7862.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mongodb的java客户端
    6. mongoDB的java客户端 1. springboot操作mongodb 1. maven配置 org.springframework.boot spring-boot-starter-data-mon...
    99+
    2020-12-29
    mongodb的java客户端 数据库入门 数据库基础教程 数据库 mysql
  • linux怎么打开mongodb客户端
    linux打开mongodb客户端的方法:1、打开linux终端;2、使用cd命令切换到你的mongodb安装目录下的bin文件中;3、最后使用mongo命令打开mongodb客户端即可。具体操作步骤:shell登陆mongodb客户端若没...
    99+
    2022-10-06
  • MongoDB客户端工具NoSQL Manager for MongoDB介绍
    目录一、安装二、连接客户端三、基本的日常操作1、shell2、日常数据增删改查① 可以在shell命令行执行。② 也可以直接通过GUI来实现。3、表复制① 数据库内复制表。② 跨数据...
    99+
    2022-11-13
  • MongoDB客户端工具NoSQL Manager for MongoDB怎么使用
    这篇文章主要讲解了“MongoDB客户端工具NoSQL Manager for MongoDB怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoD...
    99+
    2023-07-02
  • Java实现websocket客户端
    常规情况下,大多数时候Java后台作为websocket服务端,实现方式也比较简单,网上很多案例代码。但是很多时候项目中服务与服务之间也需要使用websocket通信,此时项目就需要实现客户端功能。 步骤一:导入依赖: org.jav...
    99+
    2023-10-23
    java websocket 开发语言
  • VNC的客户端,VNC的客户端哪个好用
    IIS7服务器管理工具能够作为VNC的客户端,进行VNC的命令操作,可在客户端,下载,安装VNC软件!同时,它也可以作为FTP的客户端,进行FTP的命令操作!它能够批量连接Windows和Linux系统下的服务器和VPS,并能够实时监测他们...
    99+
    2023-06-04
  • ⑩【Redis Java客户端】:Jedis、SpringDataRedis、StringRedisTemplate
    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Jedis、SpringDataRedis、St...
    99+
    2023-12-23
    redis java 数据库 jedis spring SpringDataRedis nosql
  • 【Redis入门篇】| Redis的Java客户端
    目录 一: Redis的Java客户端 1. Jedis快速入门 2. Jedis连接池 3. SpringDataRedis快速入门 4. RedisSerializer配置 5. StringRedisTemplate 图书推荐 一...
    99+
    2023-09-02
    java redis 数据库
  • 解析Tars-Java客户端源码
    目录一、基本RPC框架简介1.1、RPC调用流程二、Tars Java客户端设计介绍2.1、Tars Java客户端初始化过程2.2、使用范例2.3、代理生成2.4、远程服务寻址方法...
    99+
    2022-11-12
  • python——客户端
    客户端综述twisted是一个设计非常灵活的框架,通过它可以写出功能强大的客户端,然而要在代码中使用非常多的层次结构。这个文档包括创建用于TCP,SSL和Unix sockets的客户端在 底层,实际上完成协议语法和处理的是Protocol...
    99+
    2023-01-31
    客户端 python
  • Python的SIP客户端
        公司要搭一套电话会议系统,经济危机啦,为了节省开支,这种实验性的东西都交给我了,也是因为没有什么项目,不能让人闲着啊,哈哈。开源的IP PBX就知道asterisk和opensir,因为星号的盛名,选择了asterisk,但配置就...
    99+
    2023-01-31
    客户端 Python SIP
  • Java中http下载文件客户端和上传文件客户端的示例分析
    这篇文章主要介绍了Java中http下载文件客户端和上传文件客户端的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、下载客户端代码package java...
    99+
    2023-05-30
    java http
  • elasticsearch java客户端action怎么实现
    这篇文章主要介绍“elasticsearch java客户端action怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“elasticsearch java客户端actio...
    99+
    2023-06-30
  • [Redis]Redis客户端
    文章目录 1. Redis 客户端2. Redis 命令行客户端2.1 redis-cli 的使用2.1.1 进入 redis-cli 交互控制台方式一2.1.1 进入 redis...
    99+
    2023-09-10
    redis 数据库 缓存 nosql 服务器
  • Kafka Java客户端代码的示例分析
    这篇文章将为大家详细讲解有关Kafka Java客户端代码的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。kafka是一种高吞吐量的分布式发布订阅消息系统kafka是linkedin...
    99+
    2023-06-17
  • Java客户端开发的方法是什么
    这篇文章主要讲解了“Java客户端开发的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java客户端开发的方法是什么”吧!这一步是对之前进行较大的改动。增加的类也比较多。包结构如下...
    99+
    2023-06-17
  • Java简单的SOAP客户端怎么编写
    编写Java简单的SOAP客户端可以通过以下步骤进行:1. 导入必要的类和包。首先,需要导入`javax.xml.soap`包和相关...
    99+
    2023-09-27
    Java
  • Mysql客户端的安装
    Mysql数据库(简称)属于C/S架构,正常工作中一般都会提供服务端,我们只需要安装客户端进行查询修改数据等操作即可。 正常工作中不管是测试人员或者开发人员,一般数据库的管理员(测试负责人或者开发负责人)都会提供我们数据库的相关信息,如下...
    99+
    2021-12-19
    Mysql客户端的安装
  • php是客户端的吗
    这篇文章主要讲解了“php是客户端的吗”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php是客户端的吗”吧!php是服务器端的。php是一种运行在服务器端的嵌入式脚本语言,主要用来响应用户的...
    99+
    2023-06-30
  • Java中Socket如何实现Redis客户端
    小编给大家分享一下Java中Socket如何实现Redis客户端,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Redis是最常见的缓存服务中间件,在java开发中,一般使用 jedis 来实现。Redis的命令协议:$参数...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作