• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jhannes / fluent-jdbc / #190

01 Sep 2025 11:48AM UTC coverage: 92.296% (-0.2%) from 92.457%
#190

push

jhannes-test
Introduce DataQueryParameter for more extensible queries

72 of 85 new or added lines in 18 files covered. (84.71%)

1 existing line in 1 file now uncovered.

1186 of 1285 relevant lines covered (92.3%)

0.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

81.82
/src/main/java/org/fluentjdbc/DbContextUpdateBuilder.java
1
package org.fluentjdbc;
2

3
import javax.annotation.CheckReturnValue;
4
import java.util.List;
5
import java.util.Map;
6

7
/**
8
 * Generate <code>UPDATE</code> insert statements by collecting field names and parameters. Support
9
 * autogeneration of primary keys. Example:
10
 *
11
 * <pre>
12
 * {@link DbContextTable} table = context.table("database_test_table");
13
 * try (DbContextConnection ignored = context.startConnection(dataSource)) {
14
 *      int count = table
15
 *          .where("id", id)
16
 *          .update()
17
 *          .setField("name", "Something")
18
 *          .setField("code", 102)
19
 *          .execute(connection);
20
 * }
21
 * </pre>
22
 */
23
public class DbContextUpdateBuilder implements DatabaseUpdatable<DbContextUpdateBuilder> {
24

25
    private final DbContextTable table;
26
    private DatabaseUpdateBuilder builder;
27

28
    public DbContextUpdateBuilder(DbContextTable table, DatabaseUpdateBuilder builder) {
1✔
29
        this.table = table;
1✔
30
        this.builder = builder;
1✔
31
    }
1✔
32

33
    /**
34
     * Adds parameters to the <code>INSERT (fieldName) VALUES (expression)</code> and to the list of parameters
35
     */
36
    public DbContextUpdateBuilder addParameters(List<DatabaseQueryParameter> queryParameters) {
NEW
37
        return build(builder.addParameters(queryParameters));
×
38
    }
39

40
    /**
41
     * Adds a parameter to the <code>INSERT (fieldName) VALUES (expression)</code> and to the list of parameters
42
     */
43
    @CheckReturnValue
44
    public DbContextUpdateBuilder addParameter(DatabaseQueryParameter parameter) {
45
        return build(builder.addParameter(parameter));
1✔
46
    }
47

48
    /**
49
     * Calls {@link #setField(String, Object)} for each fieldName and parameter
50
     */
51
    @Override
52
    public DbContextUpdateBuilder setFields(List<String> fields, List<?> values) {
53
        return build(builder.setFields(fields, values));
1✔
54
    }
55

56
    /**
57
     * Calls {@link #setField(String, Object)} for each key and value in the parameter map
58
     */
59
    @Override
60
    public DbContextUpdateBuilder setFields(Map<String, ?> fields) {
NEW
61
        return build(builder.setFields(fields));
×
62
    }
63

64
    /**
65
     * Will execute the UPDATE statement to the database
66
     */
67
    public int execute() {
68
        return builder.execute(table.getConnection());
1✔
69
    }
70

71
    private DbContextUpdateBuilder build(DatabaseUpdateBuilder builder) {
72
        this.builder = builder;
1✔
73
        return this;
1✔
74
    }
75
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc