跳到主要内容

MongoDB 数据库 ORM/ODM 新工具

· 阅读需 9 分钟
ZhaoYongChun
Maintainers

在 Java 开发领域,关系型数据库(RDBMS)的 ORM 工具(如 Hibernate, MyBatis)已经非常成熟。然而,随着 NoSQL 数据库特别是 MongoDB 的普及,开发者对于在 Java 中如何优雅、高效地操作 MongoDB 提出了新的需求。

虽然 MongoDB 是文档型数据库,天生具备 Schema-less 的特性,但在强类型的 Java 语言中,我们依然需要一种机制将 BSON 文档映射为 Java 对象,以便于业务逻辑的处理。这就是 ODM(Object-Document Mapping)应运而生的背景。

本文将探讨 MongoDB 开发中的 ORM/ODM 现状,并介绍一款基于 JDBC 协议的 MongoDB 新工具 —— dbVisitor

使用规则处理复杂条件

· 阅读需 4 分钟
ZhaoYongChun
Maintainers

在日常开发中,我们最常使用的动态 SQL 规则是简单的单字段条件,例如 @{and, name = :name}。它的逻辑非常清晰:当参数 name 不为空时,追加 AND name = ?;否则忽略。

但现实世界的业务逻辑往往更复杂。例如,我们需要实现一个组合筛选功能,允许用户通过 "(年龄与性别匹配) 或者 (姓名与ID匹配)" 这样的复合逻辑来查询数据。

本文将介绍如何利用 dbVisitor 规则的高级特性,一行代码搞定这种复杂的嵌套逻辑。

MySQL 流式读取超大表

· 阅读需 5 分钟
ZhaoYongChun
Maintainers

在处理海量数据(如导出报表、全表迁移、数据清洗)时,如果直接使用普通的 SELECT * 查询,JDBC 驱动默认会将所有结果集全部加载到内存中。对于几百万甚至上亿行的表,这几乎百分之百会导致 OOM (Out Of Memory) 异常。

本文将介绍如何在 dbVisitor 中利用 MySQL 的流式查询特性,优雅地解决超大表全量读取问题。