How to Fetch Oracle 12c Implicit Cursors with JDBC and jOOQ

Earlier this week, I've blogged about how to execute SQL batches with JDBC and jOOQ. This was useful for the MySQL, SQL Server, and Sybase users among you. Today, we'll discuss a slightly more difficult task, how to fetch Oracle 12c implicit cursors - which are essentially the same thing. What's an implicit cursor? Oracle … Continue reading How to Fetch Oracle 12c Implicit Cursors with JDBC and jOOQ

How to FlatMap a JDBC ResultSet with Java 8?

You're not into the functional mood yet? Then the title might not resonate with you - but the article will! Trust me. Essentially, we want this: +------+------+------+ | col1 | col2 | col3 | +------+------+------+ | A | B | C | row 1 | D | E | F | row 2 | G … Continue reading How to FlatMap a JDBC ResultSet with Java 8?

Java 8 Friday: More Functional Relational Transformation

In the past, we've been providing you with a new article every Friday about what's new in Java 8. It has been a very exciting blog series, but we would like to focus again more on our core content, which is Java and SQL. We will still be occasionally blogging about Java 8, but no … Continue reading Java 8 Friday: More Functional Relational Transformation

Detect JDBC API Misusage with JDBCLint

I've recently seen an advertisement for JDBCLint on the H2 User Group. JDBCLint is an Apache licensed JDBC proxy implementation that does some plausibility checks on the lifecycles of your JDBC objects. For instance, it Checks if a ResultSet is closed twice Checks if a ResultSet is not closed at all (in the finalizer) Checks … Continue reading Detect JDBC API Misusage with JDBCLint

Use jOOQ to transform java.sql.ResultSet

jOOQ has many uses. The fact that it provides a thin layer of additional abstraction over JDBC can be interesting enough for some users wanting to operate on their own java.sql.ResultSet objects. Let's say, you prefer using JDBC directly, for query execution, rather than letting jOOQ execute queries for you: PreparedStatement stmt = connection.prepareStatement(sql); ResultSet … Continue reading Use jOOQ to transform java.sql.ResultSet