Skip to content

Commit

Permalink
[#1] Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaseder committed Jun 1, 2022
1 parent 7c89d69 commit a08a452
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@

A jOOQ demo working with the [Sakila database](https://www.jooq.org/sakila) running in a [testcontainers](https://www.testcontainers.org) database instance (in docker).

It currently requires using a `3.17.0-SNAPSHOT` build, which is available from:

- https://www.jooq.org/download/versions (prebuilt, if you're licensed)
- https://github.com/jOOQ/jOOQ (build yourself)

It includes a variety of feature combinations including:

- jOOQ features
- of the jOOQ Professional and Enterprise Editions (in `jOOQ-demo-pro`)
- of the jOOQ Open Source Edition (in `jOOQ-demo-oss`)
- Language support
- Java (e.g. in `jOOQ-demo-pro-java` and `jOOQ-demo-oss-java`)
- Kotlin (e.g. in `jOOQ-demo-pro-kotlin` and `jOOQ-demo-oss-kotlin`)
- Scala (e.g. in `jOOQ-demo-pro-scala` and `jOOQ-demo-oss-scala`)
- Java (e.g. in `jOOQ-demo-java`)
- Kotlin (e.g. in `jOOQ-demo-kotlin`)
- Scala (e.g. in `jOOQ-demo-scala`)
- Build support
- Maven
- Gradle (soon)
Expand All @@ -36,4 +41,16 @@ Proper database change management is important, and jOOQ urges you to do it righ

- A cleaner database schema
- A more streamlined jOOQ code generation process (always 1. migrate, 2. generate, 3. integration test)
- Higher confidence when upgrading your production database, as that has already been tested (ideally, again, with testcontainers)
- Higher confidence when upgrading your production database, as that has already been tested (ideally, again, with testcontainers)

### Why not [XYZ]?

You might want to see an example of using [XYZ] in action, including

- Your favourite connection pool (e.g. Hikari)
- Your favourite application framework (e.g. Spring Boot, Quarkus, Micronaut, Dropwizard, etc.)
- Your favourite architecture style (e.g. monolith webapp, microservices, REST API, rich clients, etc.)

All of these are interesting use-cases for jOOQ and trust us, jOOQ works everywhere. All jOOQ needs is a JDBC `Connection` or `DataSource`, or an R2DBC `Connection` or `ConnectionFactory`. That's it. That's all jOOQ needs to work. And these things already work *everywhere*. jOOQ doesn't make any assumptions about your architecture, nor does it have an opinion. As such, these examples are *unnecessary*. They're also very hard to maintain, because those third parties evolve constantly, making example code outdated. Besides, there's a combinatorial explosion of using e.g. (Spring Boot with Hikari with Vaadin).

This demo project focuses only on jOOQ functionality.

0 comments on commit a08a452

Please sign in to comment.