跳到主要内容

DLZ-DB 帮助文档 - 核心概念

设计理念

DLZ-DB 的核心设计理念是:极简、直观、可追踪

传统模式:
Controller → Service → ServiceImpl → Mapper → XML → DB

DLZ-DB 模式:
Controller → DB → 数据库

架构图

┌─────────────────────────────────────────────────────────────────────────┐
│ 应用层 │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ DB (统一入口) │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────── SQL Builder (SQL构建器) ────────────────┐ │
│ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌──────────┐ │
│ │ Pojo │ │ Table │ │ Jdbc │ | Sql │ | Batch │ │
│ │ (实体操作) │ │(表名操作)│ │ (原生SQL) │ │ (预设 SQL)│ │ (批处理) │ │
│ └───────────┘ └───────────┘ └───────────┘ └──────────┘ └──────────┘ │
│ │ │ │
│ └────────────────────────┼──────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ SQL Logger (日志) │ │
│ │ · 完整SQL · 耗时 · 代码定位 │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────────────────┐ ┌─────────────┐ │
│ │ SqlExecutor (接口) │ < -------- > │ Database │ │
│ └────────────────────────────────┘ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ 结果取值器 │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │ │
└────────────────────────────────────┼────────────────────────────────────┘

┌─────────────┐
│ 应用 │
└─────────────┘

核心组件

入口

使用模式职责说明
DB统一入口所有操作的起点

DB 入口样例

// 查询
DB.Pojo.select(User.class) // Pojo查询(推荐)
DB.Pojo.select(user)
DB.Table.select("user") // Table查询
DB.Jdbc.select(sql, args) // 原生 SQL 查询
DB.Sql.select("key.xxx") // 预设 SQL 查询

// 插入
DB.Pojo.insert(user)
DB.Table.insert("user")
DB.Jdbc.execute(sql, args)
DB.Sql.execute("key.xxx")

// 更新
DB.Pojo.update(user)
DB.Pojo.update(User.class)
DB.Table.update("user")
DB.Jdbc.execute(sql, args)
DB.Sql.execute("key.xxx")

// 删除
DB.Pojo.delete(User.class)
DB.Pojo.delete(user)
DB.Table.delete("user")
DB.Jdbc.execute(sql, args)
DB.Sql.execute("key.xxx")

// 批量处理
DB.Batch.insert(List)
DB.Batch.update(sql, List<Object[]>)

5种包装器

构造器职责说明
PojoBean 操作基于实体类的类型安全操作
Table表名操作基于表名和字段名的动态操作
Jdbc原生 SQL执行原生 SQL,?传参
Sql预设 SQL#{key} ${key}传参,支持条件判断
Batch批量处理批量更新和删除

数据库操作执行方法

取值方法结果类型说明
queryOne取得单条结果查询到多条时取第一条,取不到结果返回空
queryPage取得带翻页结果集总条数和当前页结果
queryList查询结果集结果集查询为列表
count计算条数将普通sql转换成count,取得数据条数
execute影响条数执行增加,删除,更新操作

工作流程

查询数据流程

1. 调用 DB.Pojo.select()

2. 链式添加条件 (.eq(), .like(), ...)

3. 链式添加排序,分页 (.orderBy(), .page()...)

4. 构建 SQL

5. 日志输出(SQL + 耗时 + 代码位置)

6. 执行 JDBC

7. 结果映射(Bean / Map / ResultMap)

8. 返回结果