Skip to content

Commit 304f0c5

Browse files
authored
added missing setter-methods in insert and update (#23)
1 parent bc9fa30 commit 304f0c5

6 files changed

Lines changed: 52 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ A Java-Library to build SQL-Statements
2222
<dependency>
2323
<groupId>de.jaggl.sqlbuilder</groupId>
2424
<artifactId>sqlbuilder-core</artifactId>
25-
<version>2.6.6</version>
25+
<version>2.6.7</version>
2626
</dependency>
2727
```
2828

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>de.jaggl.sqlbuilder</groupId>
55
<artifactId>sqlbuilder-core</artifactId>
6-
<version>2.6.6</version>
6+
<version>2.6.7</version>
77

88
<packaging>jar</packaging>
99

src/main/java/de/jaggl/sqlbuilder/queries/Insert.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
import static lombok.AccessLevel.PACKAGE;
44

5+
import java.time.LocalDate;
6+
import java.time.LocalDateTime;
57
import java.util.LinkedHashMap;
68
import java.util.Map;
79

810
import de.jaggl.sqlbuilder.columns.Column;
11+
import de.jaggl.sqlbuilder.columns.datetime.DateColumn;
12+
import de.jaggl.sqlbuilder.columns.datetime.DateTimeColumn;
913
import de.jaggl.sqlbuilder.columns.number.NumberColumn;
1014
import de.jaggl.sqlbuilder.columns.string.StringColumn;
1115
import de.jaggl.sqlbuilder.dialect.Dialect;
@@ -82,6 +86,16 @@ public Insert set(Column column, Column otherColumn)
8286
return addValue(column, new ValuableColumn(otherColumn));
8387
}
8488

89+
public Insert set(DateColumn column, LocalDate value)
90+
{
91+
return addValue(column, new PlainValuable(value));
92+
}
93+
94+
public Insert set(DateTimeColumn column, LocalDateTime value)
95+
{
96+
return addValue(column, new PlainValuable(value));
97+
}
98+
8599
private Insert addValue(Column column, Valuable value)
86100
{
87101
values.put(column, value);

src/main/java/de/jaggl/sqlbuilder/queries/Update.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@
55
import static de.jaggl.sqlbuilder.domain.ConditionType.WHERE_NOT;
66
import static lombok.AccessLevel.PACKAGE;
77

8+
import java.time.LocalDate;
9+
import java.time.LocalDateTime;
810
import java.util.LinkedHashMap;
911
import java.util.Map;
1012

1113
import de.jaggl.sqlbuilder.columns.Column;
14+
import de.jaggl.sqlbuilder.columns.datetime.DateColumn;
15+
import de.jaggl.sqlbuilder.columns.datetime.DateTimeColumn;
1216
import de.jaggl.sqlbuilder.columns.number.NumberColumn;
1317
import de.jaggl.sqlbuilder.columns.string.StringColumn;
1418
import de.jaggl.sqlbuilder.conditions.Condition;
@@ -78,6 +82,16 @@ public Update set(Column column, Column otherColumn)
7882
return set(column, new ValuableColumn(otherColumn));
7983
}
8084

85+
public Update set(DateColumn column, LocalDate value)
86+
{
87+
return set(column, new PlainValuable(value));
88+
}
89+
90+
public Update set(DateTimeColumn column, LocalDateTime value)
91+
{
92+
return set(column, new PlainValuable(value));
93+
}
94+
8195
public Update set(Column column, Valuable valuable)
8296
{
8397
values.put(column, valuable);

src/test/java/de/jaggl/sqlbuilder/queries/InsertTest.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@
77
import static de.jaggl.sqlbuilder.utils.Indentation.enabled;
88
import static org.assertj.core.api.Assertions.assertThat;
99

10+
import java.time.LocalDate;
11+
import java.time.LocalDateTime;
12+
1013
import org.junit.jupiter.api.Test;
1114

1215
import de.jaggl.sqlbuilder.columns.datetime.DateColumn;
16+
import de.jaggl.sqlbuilder.columns.datetime.DateTimeColumn;
1317
import de.jaggl.sqlbuilder.columns.number.doubletype.DoubleColumn;
1418
import de.jaggl.sqlbuilder.columns.number.integer.BigIntColumn;
1519
import de.jaggl.sqlbuilder.columns.number.integer.IntColumn;
@@ -28,6 +32,8 @@ class InsertTest
2832
public static final DoubleColumn SIZE = PERSONS.doubleColumn("size").build();
2933
public static final IntColumn COUNT = PERSONS.intColumn("count").build();
3034
public static final DateColumn BIRTHDAY = PERSONS.dateColumn("birthday").build();
35+
public static final DateColumn DEATHDAY = PERSONS.dateColumn("deathday").build();
36+
public static final DateTimeColumn LAST_UPDATE = PERSONS.dateTimeColumn("lastUpdate").build();
3137
public static final BigIntColumn NUMBERS = PERSONS.bigIntColumn("numbers").build();
3238

3339
@Test
@@ -37,6 +43,8 @@ void testBuildInsert()
3743
.set(NICKNAME, FORENAME)
3844
.set(FORENAME, "Martin")
3945
.set(BIRTHDAY, now())
46+
.set(DEATHDAY, LocalDate.of(2020, 4, 24))
47+
.set(LAST_UPDATE, LocalDateTime.of(2020, 4, 24, 13, 53))
4048
.set(COUNT, Integer.valueOf(5))
4149
.set(AGE, 38)
4250
.set(SIZE, 175.89)
@@ -47,7 +55,7 @@ void testBuildInsert()
4755
insert.println(SYBASE, enabled());
4856

4957
assertThat(insert.build())
50-
.isEqualTo("INSERT INTO `persons` SET `persons`.`nickname` = `persons`.`forename`, `persons`.`forename` = 'Martin', `persons`.`birthday` = NOW(), `persons`.`count` = 5, `persons`.`age` = 38, `persons`.`size` = 175.89, `persons`.`numbers` = :numbers, `persons`.`lastname` = 'Schumacher'");
58+
.isEqualTo("INSERT INTO `persons` SET `persons`.`nickname` = `persons`.`forename`, `persons`.`forename` = 'Martin', `persons`.`birthday` = NOW(), `persons`.`deathday` = '2020-04-24', `persons`.`lastUpdate` = '2020-04-24 13:53:00.000000', `persons`.`count` = 5, `persons`.`age` = 38, `persons`.`size` = 175.89, `persons`.`numbers` = :numbers, `persons`.`lastname` = 'Schumacher'");
5159

5260
assertThat(insert.build(enabled()))
5361
.isEqualTo("INSERT INTO\n" //
@@ -56,6 +64,8 @@ void testBuildInsert()
5664
+ " `persons`.`nickname` = `persons`.`forename`,\n" //
5765
+ " `persons`.`forename` = 'Martin',\n" //
5866
+ " `persons`.`birthday` = NOW(),\n" //
67+
+ " `persons`.`deathday` = '2020-04-24',\n" //
68+
+ " `persons`.`lastUpdate` = '2020-04-24 13:53:00.000000',\n" //
5969
+ " `persons`.`count` = 5,\n" //
6070
+ " `persons`.`age` = 38,\n" //
6171
+ " `persons`.`size` = 175.89,\n" //

src/test/java/de/jaggl/sqlbuilder/queries/UpdateTest.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,13 @@
1111
import static de.jaggl.sqlbuilder.utils.Indentation.enabled;
1212
import static org.assertj.core.api.Assertions.assertThat;
1313

14+
import java.time.LocalDate;
15+
import java.time.LocalDateTime;
16+
1417
import org.junit.jupiter.api.Test;
1518

1619
import de.jaggl.sqlbuilder.columns.datetime.DateColumn;
20+
import de.jaggl.sqlbuilder.columns.datetime.DateTimeColumn;
1721
import de.jaggl.sqlbuilder.columns.number.doubletype.DoubleColumn;
1822
import de.jaggl.sqlbuilder.columns.number.integer.IntColumn;
1923
import de.jaggl.sqlbuilder.columns.string.VarCharColumn;
@@ -30,6 +34,8 @@ class UpdateTest
3034
public static final DoubleColumn SIZE = PERSONS.doubleColumn("size").build();
3135
public static final IntColumn COUNT = PERSONS.intColumn("count").build();
3236
public static final DateColumn BIRTHDAY = PERSONS.dateColumn("birthday").build();
37+
public static final DateColumn DEATHDAY = PERSONS.dateColumn("deathday").build();
38+
public static final DateTimeColumn LAST_UPDATE = PERSONS.dateTimeColumn("lastUpdate").build();
3339

3440
@Test
3541
void testBuildUpdate()
@@ -38,6 +44,8 @@ void testBuildUpdate()
3844
.set(NICKNAME, FORENAME)
3945
.set(LASTNAME, "Schumacher")
4046
.set(BIRTHDAY, now())
47+
.set(DEATHDAY, LocalDate.of(2020, 4, 24))
48+
.set(LAST_UPDATE, LocalDateTime.of(2020, 4, 24, 13, 53))
4149
.set(COUNT, Integer.valueOf(5))
4250
.set(AGE, 38)
4351
.set(SIZE, 175.89)
@@ -50,14 +58,16 @@ void testBuildUpdate()
5058
update.println(SYBASE, enabled());
5159

5260
assertThat(update.build(MYSQL))
53-
.isEqualTo("UPDATE `persons` SET `persons`.`nickname` = `persons`.`forename`, `persons`.`lastname` = 'Schumacher', `persons`.`birthday` = NOW(), `persons`.`count` = 5, `persons`.`age` = 38, `persons`.`size` = 175.89 WHERE (`persons`.`lastname` NOT LIKE 'Nils%' AND MIN(`persons`.`age`) >= 50 AND (`persons`.`lastname` = 'Schumacher' OR IsNull(COL, '') != ''))");
61+
.isEqualTo("UPDATE `persons` SET `persons`.`nickname` = `persons`.`forename`, `persons`.`lastname` = 'Schumacher', `persons`.`birthday` = NOW(), `persons`.`deathday` = '2020-04-24', `persons`.`lastUpdate` = '2020-04-24 13:53:00.000000', `persons`.`count` = 5, `persons`.`age` = 38, `persons`.`size` = 175.89 WHERE (`persons`.`lastname` NOT LIKE 'Nils%' AND MIN(`persons`.`age`) >= 50 AND (`persons`.`lastname` = 'Schumacher' OR IsNull(COL, '') != ''))");
5462

5563
assertThat(update.build(MYSQL, enabled())).isEqualTo("UPDATE\n" //
5664
+ " `persons`\n" //
5765
+ "SET\n" //
5866
+ " `persons`.`nickname` = `persons`.`forename`,\n" //
5967
+ " `persons`.`lastname` = 'Schumacher',\n" //
6068
+ " `persons`.`birthday` = NOW(),\n" //
69+
+ " `persons`.`deathday` = '2020-04-24',\n" //
70+
+ " `persons`.`lastUpdate` = '2020-04-24 13:53:00.000000',\n" //
6171
+ " `persons`.`count` = 5,\n" //
6272
+ " `persons`.`age` = 38,\n" //
6373
+ " `persons`.`size` = 175.89\n" //

0 commit comments

Comments
 (0)