Skip to content

Instantly share code, notes, and snippets.

View gregopet's full-sized avatar

Gregor Petrin gregopet

View GitHub Profile
@gregopet
gregopet / build.gradle
Last active September 7, 2018 09:58
Minimalistic build.gradle file for creating a jOOQ model from a database
import org.jooq.codegen.GenerationTool
import org.jooq.meta.jaxb.*
import org.jooq.meta.*
// These can also go into gradle.properties
def packageName = "my.package"
def postgresDriverVersion = "42.1.4"
def jooqVersion = "3.11.1"
def debugDatabaseHost="localhost"
def debugDatabasePort=5432
@gregopet
gregopet / Jooq.java
Created November 1, 2019 20:23
jOOQ plain SQL examples
jooq.fetchOne("select * from film limit 1");
// type safety for fields
jooq.fetchOne("select * from film limit 1").get(FILM.TITLE);
jooq.fetchOne("select title || ' ' || description from film limit 1").get(0, String.class);
// parameters
jooq
.fetchOne("select title || ' ' || description from film where title like ? limit 1", "DINOSAUR%")
.get(0, String.class);
select(
DIRECTOR.NAME.as(PERSON.NAME),
DIRECTOR.ADDRESS.as(PERSON.ADDRESS)
)
.from(DIRECTOR)
.union(
select(
ACTOR.NAME.as(PERSON.NAME),
castNull(PERSON.ADDRESS).as(PERSON.ADDRESS)
)
@gregopet
gregopet / jooq.gradle
Last active February 23, 2020 06:07
Super minimalistic jOOQ Gradle
defaultTasks 'jooqModel'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.postgresql:postgresql:42.1.4"
classpath "org.jooq:jooq-meta:3.13.1"
@gregopet
gregopet / jooq.gradle.kts
Last active February 4, 2022 05:51
More recent & simpler version of jooq.gradle
import org.jooq.codegen.GenerationTool
// To include into main Gradle file, use: apply(from = "jooq.gradle.kts")
val dbHost: String by project
val dbPort: String by project
val dbName: String by project
val dbUser: String by project
val dbPass: String by project
openapi: 3.0.0
info:
version: 1.0.0
title: Smart City Bikes station protocol
paths: {}
# No specific paths - one of the events below is either sent via MQTT or pushed via TCP to an IP & port
components:
schemas:
GenericEvent:
description: Common properties present in all station events (see individual subtypes)