From 19aeec17524c9e467d4b6ff40ae16dcb1de93265 Mon Sep 17 00:00:00 2001 From: timsixth Date: Sat, 17 Jun 2023 20:47:35 +0200 Subject: [PATCH] Fixed process of creation update query --- pom.xml | 2 +- .../database/query/QueryBuilder.java | 22 ++++++++++++++----- src/main/resources/plugin.yml | 2 +- .../databasesapi/tests/QueryBuilderTest.java | 2 +- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index bd0f529..97b2380 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ pl.timsixth T-DataBasesAPI - 1.7 + 1.7.1 diff --git a/src/main/java/pl/timsixth/databasesapi/database/query/QueryBuilder.java b/src/main/java/pl/timsixth/databasesapi/database/query/QueryBuilder.java index e55645c..2e48f19 100644 --- a/src/main/java/pl/timsixth/databasesapi/database/query/QueryBuilder.java +++ b/src/main/java/pl/timsixth/databasesapi/database/query/QueryBuilder.java @@ -128,11 +128,23 @@ public QueryBuilder update(String table, Map data) { query.append("UPDATE ").append(table); data.forEach((key, value) -> { - if (value instanceof String) - query.append(" SET ").append(key) - .append(" = ").append("'").append(value).append("'").append(","); - else query.append(" SET ").append(key) - .append(" = ").append(value).append(","); + if (value instanceof String) { + if (!query.toString().contains("SET")) { + query.append(" SET ").append(key) + .append(" = ").append("'").append(value).append("'").append(","); + } else { + query.append(key) + .append(" = ").append("'").append(value).append("'").append(","); + } + } else { + if (!query.toString().contains("SET")) { + query.append(" SET ").append(key) + .append(" = ").append(value).append(","); + } else { + query.append(key) + .append(" = ").append(value).append(","); + } + } }); query.deleteCharAt(query.lastIndexOf(",")); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d301122..e97aa05 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,4 +1,4 @@ name: T-DatabasesApi main: pl.timsixth.databasesapi.DatabasesApiPlugin -version: '1.7' +version: '1.7.1' author: timsixth \ No newline at end of file diff --git a/src/test/java/pl/timsixth/databasesapi/tests/QueryBuilderTest.java b/src/test/java/pl/timsixth/databasesapi/tests/QueryBuilderTest.java index 042499e..fa08ec4 100644 --- a/src/test/java/pl/timsixth/databasesapi/tests/QueryBuilderTest.java +++ b/src/test/java/pl/timsixth/databasesapi/tests/QueryBuilderTest.java @@ -73,7 +73,7 @@ public void shouldGenerateUpdateQuery() { String query = queryBuilder.update("users", data).build(); - assertEquals("UPDATE users SET age = 12, SET username = 'test'", query); + assertEquals("UPDATE users SET age = 12,username = 'test'", query); } @Test