Exposed的表格
Exposed 是一款轻量级的 SQL 库,支持 Kotlin,用于 JDBC 和 R2DBC 驱动实现阻塞和响应式数据库访问。 它提供了两种用于操作数据库的 API:类型安全的 SQL DSL 和面向对象的 DAO API。
Exposed 插件为 IntelliJ IDEA 提供了一系列功能,以提升使用 Exposed 的开发体验。 这些功能包括:
安装 Exposed 插件
此功能依赖于 Exposed插件,您需要安装并启用。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 市场 选项卡,找到 Exposed插件,然后点击 安装 (如果有提示,请重启 IDE)。
配置数据源
部分 Exposed 插件功能会利用您的数据库架构进行 代码生成、 代码检查和 导航到映射引用。
在使用这些功能前,请在 数据库 工具窗口中 配置数据源。
代码补全
该插件提升了操作 Exposed 实体和表时的代码补全体验。 有助于减少人工输入重复属性声明的需求。
支持数据库的代码检查。
当 数据库 工具窗口中提供 数据库连接和架构上下文时,Exposed 插件会利用这些内容校验 Exposed 表定义和查询中的引用。
代码分析期间,插件会根据选定架构解析数据库对象,并报告如未解析的表、列、外键等与架构相关的引用不一致问题。
在编辑器中,IntelliJ IDEA 会高亮显示未解析的引用,显示检查警告并给出快速修复建议。 例如,如果 Exposed 定义中引用的表在已连接的数据库架构中不存在,插件会显示检查警告和相应提示:

要查看或修改用于校验的架构,请选择 转到 SQL 解析作用域。 这样可配置 IntelliJ IDEA 用于 SQL 解析和校验的数据库源和架构。
跳转到已映射的表和列
插件会在 Exposed 表和列声明旁添加装订区域图标,便于跳转到 数据库 工具窗口中的映射引用。
打开包含 Exposed 表对象的文件。
点击表定义旁的装订区域图标。
选择 在数据库视图中选择 选项。

IntelliJ IDEA 会打开 数据库 工具窗口,并跳转到对应的表:

生成代码
从现有数据库架构生成表
您可以在 数据库 工具窗口中,通过已存在的数据库对象生成 Exposed 表定义。
打开 数据库 工具窗口。
右键点击架构、表或其他受支持的数据库元素。
选择 从数据库创建 Exposed 表格。
如果您的项目包含
org.jetbrains.exposed:exposed-dao依赖项,请选择 从数据库创建 Exposed 实体。
在弹出的对话框中,您可以选择并自定义输出,例如:
使用 目标软件包 字段指定生成的表或 DAO 实体类的存放位置。
请检查并修改建议的属性名称。
如有需要,请调整推断出的 Exposed 列类型。

点击 OK 生成代码。
从现有表生成实体
您可以使用该插件为已有的 Exposed 表对象生成 DAO 实体类。
打开包含 Exposed 表对象的文件。
点击表定义旁的装订区域图标。
请选择 从表生成 Exposed 实体 选项。

生成的实体类会与表对象位于同一 Kotlin 文件。 插件会同时生成 实体 类及其伴侣应用 EntityClass。
Exposed 实时模板
Exposed 插件提供 实时模板 ,帮助您在 Kotlin 文件中快速创建常用的 Exposed 代码构造。 实时模板会根据模板名称生成预定义代码段,减少需要编写的模板代码量。
要展开实时模板,请输入相应的缩写,并按 Tab。
数据库模板
可使用以下实时模板生成数据库相关代码:
缩写 | 描述 |
|---|---|
| 生成 Exposed JDBC 的数据库连接配置。 |
| 生成 Exposed R2DBC 的数据库连接配置。 |
表模板
可用以下模板生成 Exposed 表对象:
缩写 | 描述 |
|---|---|
| 生成 |
| 生成 |
| 生成 |
| 生成 |
| 生成 |
DAO 实体模板
可用以下模板生成 Exposed DAO 实体类:
缩写 | 描述 |
|---|---|
| 生成 |
| 生成 |
| 生成 |
| 生成 |
配置实时模板
您可在 IntelliJ IDEA 设置中查看和自定义 Exposed 实时模板:
按 Ctrl+Alt+S 打开设置,然后选择 。
在选项列表中,点击 Exposed的表格 节点以展开已提供的实时模板列表。

随后您可以通过复选框启用或禁用它们,编辑现有模板或新建模板。