Well, I see it as an unwanted intrusion of the ugly jdbc API into application layer. It doesn't eliminate the "JDBC boilerplate", it just splinters it up and puts it in hard to find places.
Maybe it works when well managed, but imagine a class that has:
- some constructors that take ResultSets and some that don't.
- constructors that pass ResultSets around to super classes, 'init' type methods and the constructors of member variables.
- as the kicker, potentially separate try\catch blocks in all those places to which the ResultSet is used.
Worst case scenario? Perhaps, but I've seen it.
Maybe I'm coming across a bit strong, because I really enjoyed the article. But passing around ResultSets in constructors is something I prefer to avoid, often in favour of a big constructor.