Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
Building Realtime Data
Apps with jOOQ
TCF IT Professional Conference
March 16, 2018
Michael P. Redlich
@mpredli
about.me...
Who’s Mike?
• BS in CS from
• “Petrochemical Research Organization”
• Java Queue News Editor, InfoQ
• Ai-Logix, Inc. (now ...
Objectives
• What is jOOQ?
• Why jOOQ?
• Database Support
• Get Started Building an Application
• Live Demo (yea!)
• jOOQ ...
What is jOOQ (1)?
“jOOQ generates Java code from your database
and lets you build type-safe SQL queries through its
fluent ...
What is jOOQ (2)?
• First introduced in October 2009
• Latest version: 3.10.5
• Generates Java classes from a databases
sc...
How Do I Pronounce
jOOQ?
jOOQ website, https://www.jooq.org/how-to-pronounce-jooq
6
Why jOOQ? (1)
“SQL was never meant to be abstracted.To be
confined in the narrow boundaries of heavy
mappers, hiding the be...
Why jOOQ? (2)
• Database First
• Type Safe SQL
• Code Generation
• Active Records
• Multi-Tenancy
• Standardisation
• Quer...
jOOQ Editions
• Open Source
• Express (small startup or individual)
• Professional (small-to-medium company)
• Enterprise ...
jOOQ Open Source
• CUBRID 8.4+
• Derby 10.10+
• Firebird 2.5, 3.0
• H2 1.3,1.4
• HSQLDB 2.2+
• MariaDB 5.2+
• MySQL 5.5+
•...
Let’s Get Started…
11
Example Database
12
“Hello, Java Users Group!”
Generate Code (1)
<generator>
<database>
<name>org.jooq.util.mysql.MySQLDatabase</
name>
<includes>.*</includes>
<excludes...
Generate Code (2)
<generator>
<target>
<packageName>
org.redlich.pubs.model
</packageName>
<directory>src/main/java</direc...
Generate Code (3)
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
15
Let’s Build That App…
16
17
jOOQ Resources
•jooq.org
•jooq.org/tuesdays
•jooq.org/translate
•blog.jooq.org
•https://www.infoq.com/news/
2017/02/dat...
Acknowledgements
• Data Geekery, GmbH
• Lukas Eder, Founder and CEO at Data
Geekery
18
Upcoming Events
• ACGNJ Java Users Group
• Dr. Venkat Subramaniam
• Monday, March 19, 2018
• DorothyYoung Center for the A...
20
Thanks!
mike@redlich.net
@mpredli
redlich.net
slideshare.net/mpredli01
github.com/mpredli01/jOOQ
Upcoming Events
• March 17-18, 2017
•tcf-nj.org
• April 18-19, 2017
•phillyemergingtech.com
21
Upcoming SlideShare
Loading in …5
×

Building Realtime Access to Data Apps with jOOQ

37 views

Published on

An introduction to jOOQ, a tool that generates Java code from your database and lets you build type safe SQL queries through its fluent API.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Building Realtime Access to Data Apps with jOOQ

  1. 1. 1 Building Realtime Data Apps with jOOQ TCF IT Professional Conference March 16, 2018 Michael P. Redlich @mpredli about.me/mpredli/
  2. 2. Who’s Mike? • BS in CS from • “Petrochemical Research Organization” • Java Queue News Editor, InfoQ • Ai-Logix, Inc. (now AudioCodes) • Amateur Computer Group of New Jersey 2
  3. 3. Objectives • What is jOOQ? • Why jOOQ? • Database Support • Get Started Building an Application • Live Demo (yea!) • jOOQ Resources 3
  4. 4. What is jOOQ (1)? “jOOQ generates Java code from your database and lets you build type-safe SQL queries through its fluent API.” jOOQ website, https://www.jooq.org/ 4
  5. 5. What is jOOQ (2)? • First introduced in October 2009 • Latest version: 3.10.5 • Generates Java classes from a databases schema • Built-in internal DSL that emulates SQL in Java 5
  6. 6. How Do I Pronounce jOOQ? jOOQ website, https://www.jooq.org/how-to-pronounce-jooq 6
  7. 7. Why jOOQ? (1) “SQL was never meant to be abstracted.To be confined in the narrow boundaries of heavy mappers, hiding the beauty and simplicity of relational data. SQL was never meant to be object- oriented. SQL was never meant to be anything other than…SQL!” jOOQ website, https://www.jooq.org/ 7
  8. 8. Why jOOQ? (2) • Database First • Type Safe SQL • Code Generation • Active Records • Multi-Tenancy • Standardisation • Query Lifecycle • Procedures 8
  9. 9. jOOQ Editions • Open Source • Express (small startup or individual) • Professional (small-to-medium company) • Enterprise (large company) 9
  10. 10. jOOQ Open Source • CUBRID 8.4+ • Derby 10.10+ • Firebird 2.5, 3.0 • H2 1.3,1.4 • HSQLDB 2.2+ • MariaDB 5.2+ • MySQL 5.5+ • PostgreSQL 9.3+ • SQLite 3 10
  11. 11. Let’s Get Started… 11
  12. 12. Example Database 12 “Hello, Java Users Group!”
  13. 13. Generate Code (1) <generator> <database> <name>org.jooq.util.mysql.MySQLDatabase</ name> <includes>.*</includes> <excludes></excludes> <inputSchema>publications</inputSchema> </database> </generator> 13
  14. 14. Generate Code (2) <generator> <target> <packageName> org.redlich.pubs.model </packageName> <directory>src/main/java</directory> </target> </generator> 14
  15. 15. Generate Code (3) <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> 15
  16. 16. Let’s Build That App… 16
  17. 17. 17 jOOQ Resources •jooq.org •jooq.org/tuesdays •jooq.org/translate •blog.jooq.org •https://www.infoq.com/news/ 2017/02/data-geekery-releases- jooq-3-9
  18. 18. Acknowledgements • Data Geekery, GmbH • Lukas Eder, Founder and CEO at Data Geekery 18
  19. 19. Upcoming Events • ACGNJ Java Users Group • Dr. Venkat Subramaniam • Monday, March 19, 2018 • DorothyYoung Center for the Arts, Room 106 • Drew University • 7:30-9:00pm • “Twelve Ways to Make Code Suck Less” 19
  20. 20. 20 Thanks! mike@redlich.net @mpredli redlich.net slideshare.net/mpredli01 github.com/mpredli01/jOOQ
  21. 21. Upcoming Events • March 17-18, 2017 •tcf-nj.org • April 18-19, 2017 •phillyemergingtech.com 21

×