欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MongoDB Java Driver 源码分析(1):Package 概述

程序员文章站 2022-03-02 16:28:55
...
  MongoDB Java Driver 包含 7 个主要的 Package,本文将对包之间的依赖关系进行分析,并简要描述买个包的功能,并对每个包中的主要类的作用进行简要说明。

包之间的依赖关系


  下图展示了包之间的依赖关系:

MongoDB Java Driver 源码分析(1):Package 概述
            
    
    博客分类: MongoDB Driver mongodbJavadriver数据库源码 


  可以看到:

  com.mongodb.gridfs 依赖于 com.mongodb.util,com.mongodb
  com.mongodb 依赖于 org.bson,org.bson.types, com.mongodb.util
  com.mongodb.util 依赖于 com.mongodb(仅 JSON,JSONCallback)

  org.bson 依赖于 org.bson.util,org.bson.types,org.bson.io
  org.bson.types 依赖于  org.bson.util, org.bson(仅 BasicBSONList)
  org.bson.io 不依赖其他包
  org.bson.util 不依赖其他包

包功能概述

  com.mongodb
  MongoDB Driver 核心类所在的包。其中 Mongo 类是整个 Driver 的入口点。

  Mongo 表示一个数据库实例,可能包含多个 Server 。
  DBCollection 表示数据集合的抽象类。
  DBCursor 用于遍历 find() 等查询操作的返回结果。
  DB 表示一个数据库连接。
  DBTCPConnector 表示 TCP 数据连接的类。
  DBApiLayer 继承 DB 类。DB 操作的底层实现,通过 Mongo 对象间接调用。
  ReplicaSetStatus 表示集群状态的类。
  DBPort 表示数据连接端口,维护一个 Socket。


  com.mongodb.gridfs
  GridFS 工具类。用于在 MongoDB 中保存文件。

  GridFS 对创建、查询、删除文件的操作进行封装的类。
  GridFSFile 表示 GridFS 中的文件的信息。
  GridFSDBFile 继承 GridFSFile ,表示从数据库中读取的文件。
  GridFSInputFile 继承 GridFSFile,表示将要写入到数据库中的文件。


  com.mongodb.util
  包含各种工具类的包。

  JSON 对 JSON 进行编码和解码的类。
  SimplePool 简单的对象池。
  Hash 计算 Hash Code 的工具类
  StringParseUtil 将 String 解析为其他类型的工具类


  org.bson
  包含基础的 BSON 类和对 BSON 进行编码、解码的类。

  BSON  表示 BSON 对象的类
  BasicBSONObject 继承 BSON 对象,可以用与 Map 操作相似的方法类操作 BSON 对象。
  BSONEncoder 对 BSON 对象进行编码的类
  BSONDecoder 对 BSON 对象进行解码的类

  org.bson.types
  包含各种不同形式的 BSON 的实现。

  ObjectId 表示数据库对象的唯一标识
  BasicBSONList 表示 BSON 对象的列表
  CodeWScope 表示 代码命名空间类型的 BSON 对象。
  Code 表示代码的 BSON 对象。
  Symbol 表示 Symbol 类型的 BSON 对象,实际与 String 类似。
  BSONTimestamp 表示时间的 BSON 对象。

  org.bson.io
  实现用于 BSON 对象的 I/O 操作。

  UTF8Encoding 用于 UTF-8 编码的类
  OutputBuffer 表示输出流缓冲区的抽象类。
  PoolOutputBuffer 继承 OutputBuffer ,实现带有对象池功能的缓冲区操作。
  BasicOutputBuffer 继承 OutputBuffer ,实现简单的缓冲区操作。
  Bits 表示比特的类。

  org.bson.util
  包含用于 BSON 的各种工具类。

  ClassMap 类作为 key ,String 作为 value 的 MAP
  SimplePool 简单的对象池
  StringRangeSet 字符串批量操作的类