From d4d6501af6d49e19b5ce603151863f3f66364443 Mon Sep 17 00:00:00 2001 From: zipg Date: Thu, 13 Aug 2026 02:10:51 +0800 Subject: [PATCH] feat(sql): support MyBatis foreach collection parameters --- .../components/editor/SqlParameterDialog.vue | 8 +- apps/desktop/src/i18n/locales/en.ts | 1 + apps/desktop/src/i18n/locales/es.ts | 1 + apps/desktop/src/i18n/locales/it.ts | 1 + apps/desktop/src/i18n/locales/ja.ts | 1 + apps/desktop/src/i18n/locales/ko.ts | 1 + apps/desktop/src/i18n/locales/pt-BR.ts | 1 + apps/desktop/src/i18n/locales/zh-CN.ts | 1 + apps/desktop/src/i18n/locales/zh-TW.ts | 1 + .../lib/__tests__/sql/sqlParameters.spec.ts | 83 ++++- apps/desktop/src/lib/sql/sqlParameters.ts | 314 +++++++++++++++++- 11 files changed, 399 insertions(+), 14 deletions(-) diff --git a/apps/desktop/src/components/editor/SqlParameterDialog.vue b/apps/desktop/src/components/editor/SqlParameterDialog.vue index 310796f841..ed77b65532 100644 --- a/apps/desktop/src/components/editor/SqlParameterDialog.vue +++ b/apps/desktop/src/components/editor/SqlParameterDialog.vue @@ -47,6 +47,10 @@ const syntaxLabels: Record = { sqlserver: "@name", }; +function syntaxLabel(parameter: SqlParameterDescriptor): string { + return parameter.collection ? "" : syntaxLabels[parameter.syntax]; +} + const resolvedSql = computed(() => substituteSqlParameters(props.sql, values.value, { databaseType: props.databaseType, enabledSyntaxes: props.enabledSyntaxes })); const highlightedSql = computed(() => highlight(resolvedSql.value)); @@ -143,7 +147,7 @@ async function copyResolvedSql() {
{{ parameter.name }}
-
{{ syntaxLabels[parameter.syntax] }}
+
{{ syntaxLabel(parameter) }}