From 0cd0ec4b0378f927d5cc3e242fb01a29b644a05f Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Fri, 19 Apr 2024 09:22:25 +0300 Subject: [PATCH] have some fun with jooq --- pom.xml | 6 ++++++ src/main/java/com/mykola2312/mptv/Main.java | 24 +++++++++++++++------ src/main/java/com/mykola2312/mptv/Test.java | 11 ++++++++++ 3 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/mykola2312/mptv/Test.java diff --git a/pom.xml b/pom.xml index 21c5a82..3f17863 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,12 @@ 3.19.7 + + jakarta.persistence + jakarta.persistence-api + 3.2.0-M2 + + log4j diff --git a/src/main/java/com/mykola2312/mptv/Main.java b/src/main/java/com/mykola2312/mptv/Main.java index 401893e..caa5d7c 100644 --- a/src/main/java/com/mykola2312/mptv/Main.java +++ b/src/main/java/com/mykola2312/mptv/Main.java @@ -6,12 +6,14 @@ import com.mykola2312.mptv.ui.MainFrame; import org.apache.commons.cli.*; import org.apache.log4j.Logger; import org.flywaydb.core.Flyway; +import org.checkerframework.checker.nullness.qual.*; + import static com.mykola2312.mptv.tables.Test.*; import org.jooq.*; -import org.jooq.Record; import org.jooq.impl.*; import java.io.IOException; +import java.util.List; public class Main { private static final Logger logger = Logger.getLogger(Main.class); @@ -70,13 +72,23 @@ public class Main { flyway.migrate(); DSLContext create = DSL.using(DB.CONFIG); - Result result = create.select().from(TEST).fetch(); - for (Record r : result) { - Integer id = r.getValue(TEST.ID); - String value = r.getValue(TEST.VALUE); - System.out.printf("%d: %s\n", id, value); + @NonNull List result = create + .select() + .from(TEST) + .fetchInto(Test.class); + for (Test t : result) { + System.out.printf("%d: %s\n", t.id, t.value); } + create = DSL.using(DB.CONFIG); + Test test = create + .select() + .from(TEST) + .limit(1) + .fetchOne() + .into(Test.class); + System.out.printf("fetchOne -> %d: %s\n", test.id, test.value); + logger.info("mptv started"); } } diff --git a/src/main/java/com/mykola2312/mptv/Test.java b/src/main/java/com/mykola2312/mptv/Test.java new file mode 100644 index 0000000..e5bb4e7 --- /dev/null +++ b/src/main/java/com/mykola2312/mptv/Test.java @@ -0,0 +1,11 @@ +package com.mykola2312.mptv; + +import jakarta.persistence.*; + +public class Test { + @Column(name = "ID") + public int id; + + @Column(name = "VALUE") + public String value; +} \ No newline at end of file