---
description: 达梦8 DM8数据库全局规范（与 .cursor/rules 同步）
globs: ["**/*.sql","**/*Mapper.xml","**/domain/**/*.java"]
alwaysApply: true
---

# 达梦 8（DM8）数据库规范

## 字段类型

| Java | 达梦 | 说明 |
|------|------|------|
| String | VARCHAR(N) | 主键/文本 |
| Integer | INT | 状态枚举 |
| Date | TIMESTAMP | 时间（映射 BaseEntity） |
| String | CHAR(1) | del_flag 逻辑删除 |

## DDL 规范

- 表名/字段名小写蛇形，规避关键字
- 注释：`COMMENT ON TABLE/COLUMN`（达梦语法）
- 脚本放 `sql/` 目录，禁止 MySQL 专属语法
- 逻辑删除：`del_flag CHAR(1) DEFAULT '0'`

## MyBatis（非 MyBatis-Plus）

- Mapper 为接口 + XML，**禁止** BaseMapperX / Wrapper
- 分页：Controller `startPage()` + PageHelper，XML **不写** LIMIT
- 模糊查询：沿用若依 `concat('%', #{field}, '%')`
- 禁止 SELECT *，参数全部 `#{}`

## 函数替换

| MySQL | 达梦 |
|-------|------|
| IFNULL | NVL |
| DATE_FORMAT | TO_CHAR |
| NOW() | SYSDATE |
| FIND_IN_SET | INSTR 等等价写法 |

## 禁止

- MyBatis-Plus 注解（@TableName、@TableId 等）
- MySQL LIMIT 逗号分页、IFNULL、DATE_FORMAT
- 无 WHERE 的全表 UPDATE/DELETE
