JdbcTemplateNg
A new take on JdbcTemplate.
This project has the following goals:
- support Optional
- reduce the number of methods on JdbcOperations
- native support named parameters (Oracle, IBM DB2)
additional features:
- more control over return type by use of a collector
- statement customizer allows to set fetch size without having to create a prepared statement creator
- large update support
non-goals
features not supported:
- java.util.Date <-> java.sql.Timestamp and java.util.Calendar <-> java.sql.Timestamp type conversions, use JSR-310 datatypes
- work around JDBC driver bugs
- consider JDBC metadata
- jdbc type support
- rownum in RowMapper
- stored procedures
TODO
- tests for failed updates
- unprepared statement for statements without bind parameters
???
-
naming: query().collectTo...
-
naming: update().for...
-
naming: batchUpdate().forGeneratedKeysAndFailedUpdates is bad, something with generated keys and callback
-
naming: JdbcTemplate.(batch)UpdateForGeneratedKeys()
-
should #binding support a collection as an argument, especially for batch updates
-
case insensitive map, map contract, keySet, equals contract
-
should binding happen at the end so that operations can be cached? PreparedStatementSetter would have to take arguments