痛点

每天写重复的联表查询、条件过滤、分页统计?表结构记不住,字段名总要翻文档?复杂动态 SQL 拼接到怀疑人生?

DBAPI AI 写 SQL 功能来了。只需用自然语言描述你的需求,AI 自动理解表结构、生成标准 SQL,还支持参数占位符和 MyBatis 风格动态 SQL,一键插入编辑器,直接运行。

怎么用

  1. 在 SQL IDE 右下角点击机器人悬浮按钮,打开 AI 对话框
  2. 输入 @ 搜索并选择要查询的表(自动获取字段名、类型、注释)
  3. 用自然语言描述你要查什么
  4. AI 根据表结构 + 你的需求,秒出 SQL

支持 17+ 主流大模型:OpenAI、DeepSeek、Claude、通义千问、Gemini 等,兼容 OpenAI 格式即可接入。

案例一:生成普通 SQL

用户提问:查询所有用户的 id、用户名、邮箱和注册时间,按注册时间倒序

生成的 SQL:

sql

SELECT id, username, email, create_time FROM public.users ORDER BY create_time DESC

图 0

AI 自动识别字段名,不需要你记住任何表结构。生成后点击"插入编辑器"即可使用。

案例二:生成带参数占位符的 SQL

用户提问:根据用户 ID 查询用户信息

生成的 SQL:

sql

SELECT * FROM public.users WHERE id = #{id}

图 1

AI 自动使用 #{xxx} 安全参数占位符,杜绝 SQL 注入风险。#{id} 会在执行时被安全替换为预编译参数。

案例三:生成动态 SQL

用户提问:根据条件查询用户列表,按用户名模糊搜索、按状态筛选、按时间范围过滤,按时间倒序排序

生成的 SQL:

sql

SELECT * FROM public.users
<where>
    <if test="username != null and username != ''">
        AND username LIKE CONCAT('%', #{username}, '%')
    </if>
    <if test="status != null">
        AND status = #{status}
    </if>
    <if test="startTime != null">
        AND create_time >= #{startTime}
    </if>
    <if test="endTime != null">
        AND create_time &lt;= #{endTime}
    </if>
</where>
ORDER BY create_time DESC

图 2

开启"动态 SQL"开关后,AI 会自动生成 MyBatis 风格的动态 SQL:

标签 作用
<where> + <if> 条件自动拼接,多余 AND/OR 自动消除
#{username}#{status} 安全预编译参数占位符
&lt;= XML 转义的小于等于

调用 API 时只需传参数 JSON,动态 SQL 引擎自动解析执行:

json

{
  "keyword": "张三",
  "status": 1,
  "startDate": "2025-01-01",
  "endDate": "2025-12-31"
}

解析后的真实 SQL:

sql

SELECT *
FROM public.users
WHERE username LIKE CONCAT('%', '张三', '%')
  AND status = 1
  AND create_time >= '2025-01-01'
  AND create_time <= '2025-12-31'
ORDER BY create_time DESC

为什么选择 DBAPI AI?

能力 说明
零学习成本 说人话,出 SQL
懂你的表 自动通过 JDBC 获取字段名、类型、注释
安全第一 #{xxx} 预编译,拒绝 SQL 注入
动态 SQL MyBatis 风格的 <if><where><foreach> 信手拈来
私有化部署 支持 Ollama 本地模型,数据不出网
全平台 DeepSeek、通义千问、OpenAI… 想用哪个用哪个

立即体验:打开 DBAPI SQL IDE → 点击右下角机器人 → 开聊。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐