跳到主要内容
JDK 8+ / 11 / 17 / 21Spring Boot · Solon · 纯 Java开源 · Apache 2.0

数据库框架 + JSON 工具库
双剑合璧,专注 Java 数据开发

DLZ-DB/DLZ-Kit一个让 SQL 访问像写代码一样直接,一个让 JSON 嵌套数据处理一行到位、不 NPE。两者独立可用、也天然互补,共同减少 Java 后端的样板代码。

8
DB 能力入口
0
Mapper / XML 必需
8
主流数据库支持
DLZ-DB + DLZ-Kit 示例
// DLZ-DB:八大入口之一,实体 + Lambda
List<User> users = DB.pojo
  .selectWrapper(User.class)
  .eq(User::getStatus, 1)
  .like(User::getName, "张")
  .queryBeanList();

// 复杂 SQL 用命名参数,参数自动绑定
User user = DB.sql.one(
  SELECT * FROM user WHERE id = #{id},
  User.class,
  new JSONMap("id", 1)
);

// 还有 batch / ds / tx / config 覆盖批量、多数据源、事务与配置
🖱️SQL 日志直达代码行
🛡️深层取值不 NPE
产品矩阵

两个产品,覆盖 Java 后端的"数据"两半

DLZ-DB 管好"数据库读写",DLZ-Kit 管好"JSON 嵌套数据"。
两者独立可用、天然互补,配合使用可覆盖从数据入库到接口组装的全链路。

🗄️

DLZ-DB

面向同步 JDBC 的轻量数据库访问框架

一套门面、八大能力入口:pojo / table / jdbc / sql 负责数据读写,batch / ds / tx / config 提供批量、数据源、事务与配置。单表 CRUD、动态表、条件构造、分页、预设 SQL、逻辑删除、方言注册一站式覆盖。无需 Mapper、XML、额外 Service 层。

  • 一套门面 · 八大能力入口
  • Lambda 条件构造 · 动态条件
  • 预设 SQL · 逻辑删除 · 批量操作
  • 多数据源 · 本地事务
  • 方言注册机制 · 自动匹配
  • SQL 日志直达调用代码行
  • Spring Boot / Solon / 非 Spring 解耦
  • MySQL · PG · Oracle · 达梦 · H2 等 8 种库
查看 DLZ-DB 文档
🧰

DLZ-Kit

以嵌套数据操作为核心的 Java 工具库

从 2006 年起持续积累的工具库。JSONMap/JSONList 深层路径读写一行到位、天然不 NPE;ValUtil 健壮类型转换、ConvertUtil+@SetValue 双向映射、极轻量内存缓存、DlzCaller 日志定位,开箱即用、零框架依赖。

  • 深层路径取值 · 负索引 · 不 NPE
  • 路径即结构,set 自动建中间层
  • 健壮类型转换(ValUtil)
  • @SetValue Bean ↔ 嵌套结构双向映射
  • 有界宽容:缺失容忍、内容不容忍
  • DlzCaller 日志秒级定位调用方
  • 极轻量内存缓存 · 零依赖 · 约 100KB
查看 DLZ-Kit 文档
核心能力

两端的数据能力,各自专注

DLZ-DB 面向"数据库读写",DLZ-Kit 面向"JSON 嵌套数据"。
以下是两个产品最核心、最能解决实际痛点的能力。

🎯
DLZ-DB

一套门面,八大能力入口

DB.pojo / table / jdbc / sql 负责数据读写,batch / ds / tx / config 提供批量、数据源、事务与配置。简单操作短小,复杂 SQL 完整表达。

🔗
DLZ-DB

SQL、参数、结果、调用位置成链

统一处理参数绑定、结果映射、耗时与慢 SQL 日志,并带上调用方定位信息,生产问题一眼定位到业务代码行。

🧩
DLZ-DB

方言注册 · 多数据源 · 本地事务

DB.config.registerDialect 注册方言自动匹配;DB.ds.use 切换数据源、DB.tx.run 界定事务边界,能力清晰解耦。

🗂️
DLZ-Kit

深层路径取值,一行到位不 NPE

getStr("data.user.addresses[0].city") 直达嵌套节点,任意层级为 null 都安全返回,支持数组与负索引。

⚖️
DLZ-Kit

有界宽容:缺失容忍、内容不容忍

结构缺失与类型偏差宽容(返回 null/默认值),数据明显错误则明确报错,不悄悄吞掉脏数据。

🧩
DLZ-Kit

@SetValue 双向映射

扁平 Bean 字段与嵌套 JSON 自动互转,避免手写逐层转换;配套 ValUtil 健壮类型转换,来源类型混乱也不怕。

为什么选择 DLZ

不是"重做一切",而是"恰好解决痛点"

我们不追求覆盖所有能力,而是聚焦 Java 后端最高频的两类数据操作。
让简单的操作足够简单,让复杂的数据处理不踩坑。

🧠

类型安全与 SQL 控制权并存

DLZ-DB 用 User::getName 这类 Lambda 字段引用,减少字段重命名导致的运行时错误;复杂查询保留手写 SQL 的完全控制权。

🤖

专为 AI 辅助开发优化

DLZ-Kit 的 API 模式固定、参数少、重载歧义少,AI 容易生成正确代码;仓库附 .cursorrules 与 AI 速读,Cursor / Copilot 优先生成。

💾

零依赖与极低侵入

DLZ-Kit 核心仅依赖 slf4j(可选)、JSON 解析自研、约 100KB;DLZ-DB 核心与 Spring 解耦,两者都不强制绑定框架。

🖱️

日志"秒级定位"调用方

DLZ-DB 的 SQL 日志直达业务代码行;DLZ-Kit 的 DlzCaller 让公共组件日志显示调用位置。排查从"全局搜索"变"秒级定位"。

🛡️

安全与边界清晰

SQL 值参数绑定防注入,表名/列名来自可信代码;JSON 取值对不可控数据天然 NPE 安全。两者的能力边界都写在文档里。

⚙️

场景覆盖全

DLZ-DB 适配中后台、报表、多数据源、批量 ETL;DLZ-Kit 适配 API 对接、表单清洗、微信回调、动态配置等 JSON 密集场景。

两个产品,总有一个能帮到你

引入依赖即可上手,无需重写现有项目,按需接入就能看到效果。