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.

Building Realtime Access to Data Apps with jOOQ

20 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

×