JDBC API Usage: Difference between revisions
Jump to navigation
Jump to search
(→Query) |
(→Query) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
DatabaseMetaData dmd = c.getMetaData(); | DatabaseMetaData dmd = c.getMetaData(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=ResultSet= | |||
Some implementation will fail on ResultSet.first() invocation, if the result sent is not explicitly created to be ResultSet.TYPE_SCROLL_INSENSITIVE. Creating scrollable ResultSets may have performance implications. ResultSet.next() is always safe to use, in an integrator pattern. | |||
=Query= | =Query= | ||
Line 20: | Line 24: | ||
<syntaxhighlight lang='java'> | <syntaxhighlight lang='java'> | ||
... | ... | ||
private DataSource dataSource; | private DataSource dataSource; | ||
Line 50: | Line 55: | ||
c.close(); | c.close(); | ||
} | } | ||
</syntaxhighlight> | |||
<font color=darkgray>More low-level JDBC code example with comments in [[SIA]] page 57.</font> | |||
</ | |||
=Create= | =Create= |
Latest revision as of 20:03, 14 October 2018
Internal
JDBC Connection Life Cycle
Database Metadata
The database metadata is an object that contains metadata about the database the current connection belongs to.
Connection c = ...;
DatabaseMetaData dmd = c.getMetaData();
ResultSet
Some implementation will fail on ResultSet.first() invocation, if the result sent is not explicitly created to be ResultSet.TYPE_SCROLL_INSENSITIVE. Creating scrollable ResultSets may have performance implications. ResultSet.next() is always safe to use, in an integrator pattern.
Query
...
private DataSource dataSource;
...
Connection c;
try {
c = dataSource.getConnection();
PreparedStatement s = c.prepareStatement("SELECT * FROM SOME_TABLE");
ResultSet rs = s.executeQuery();
while(rs.next()) {
//
// columns are 1-based
//
String column1Value = rs.getString(1);
Long column2Value = rs.getLong(2);
...
}
}
finally {
c.close();
}
More low-level JDBC code example with comments in SIA page 57.