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