Learn Java SQL, JDBC, Transactions, Connection Management & HikariCP
// Kaufman-based skill map for mastering Java SQL/JDBC as a production system boundary: mental models, invariants, failure modes, and deliberate practice roadmap.
This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.
Curriculum Map
Navigate by phase, then choose the lesson that matches your current depth.
Kaufman Skill Map: JDBC as a System Boundary
17 minKaufman-based skill map for mastering Java SQL/JDBC as a production system boundary: mental models, invariants, failure modes, and deliberate practice roadmap.
The Java SQL Stack: java.sql, javax.sql, Driver, Database, Network
14 minDeep dive into the Java SQL stack: java.sql, javax.sql, JDBC drivers, DriverManager, DataSource, network boundaries, database sessions, and production implications.
JDBC Core Object Model: Connection, Statement, PreparedStatement, CallableStatement, ResultSet
14 minDeep dive into the JDBC core object model: Connection, Statement, PreparedStatement, CallableStatement, ResultSet, metadata, SQLException, object ownership, lifecycle, and production-grade usage rules.
Connection Lifecycle: From Borrow to Close
14 minProduction-grade connection lifecycle: acquisition, borrow-use-return, physical vs logical connections, pooled close semantics, state reset, leaks, thread ownership, and lifecycle invariants.
Statement Execution Model: Execute, Query, Update, Batch
13 minStatement execution model in JDBC: executeQuery, executeUpdate, execute, large update counts, generated keys, batches, multiple results, timeout, cancellation, and production-grade execution invariants.
PreparedStatement Deep Dive: Binding, Type Mapping, Injection Defense
11 minPreparedStatement deep dive for advanced Java engineers: parameter binding, type mapping, null handling, SQL injection boundaries, dynamic SQL safety, IN clauses, generated SQL, plan reuse, and common production pitfalls.
ResultSet Deep Dive: Cursor, Streaming, Fetch Size, Memory Pressure
12 minResultSet deep dive for advanced Java engineers: cursor model, result set type, concurrency, holdability, fetch size, streaming large results, memory pressure, null handling, row mapping, and production anti-patterns.
SQL Type Mapping: Java Types, JDBC Types, Database Types
14 minSQL type mapping for advanced Java engineers: Java types, JDBC Types, JDBCType, database types, precision, scale, nullability, String and numeric semantics, UUID, JSON, arrays, enums, BLOB/CLOB, and vendor-specific type boundaries.
Time, Time Zone, and Temporal Correctness in JDBC
13 minTemporal correctness for advanced Java/JDBC engineers: java.sql.Date, Time, Timestamp, java.time, JDBC 4.2+, Instant, LocalDate, LocalDateTime, OffsetDateTime, database timezone, JVM timezone, audit timestamps, business dates, DST, reporting, and temporal anti-patterns.
Transaction Fundamentals: Auto-Commit, Commit, Rollback
10 minTransaction fundamentals for advanced Java/JDBC engineers: auto-commit, commit, rollback, transaction scope, exception paths, rollback failure, ambiguous commit, connection state, try-with-resources, transaction runner, and production-grade transaction invariants.
Transaction Isolation: Read Phenomena and Real Database Behavior
18 minDeep dive transaction isolation untuk engineer Java/JDBC: SQL read phenomena, JDBC isolation constants, MVCC vs locking behavior, lost update, write skew, database-specific behavior, testing anomalies, dan decision framework isolation level.
Locking, Blocking, Deadlock, and Timeout Semantics
17 minProduction-grade guide to locking, blocking, deadlock, and timeout semantics in Java/JDBC systems: row locks, range locks, lock ordering, query timeout, lock timeout, pool timeout, transaction timeout, cancellation, retry, and incident diagnosis.
Savepoints and Partial Rollback
13 minSavepoints and partial rollback in JDBC, including transaction semantics, correct usage patterns, failure handling, framework interaction, and anti-patterns.
Connection Management Patterns Without Frameworks
12 minConnection management patterns without frameworks, including transaction runners, DAO/repository boundaries, resource ownership, exception translation, and anti-patterns.
DataSource Deep Dive: Why Production Code Should Prefer It
16 minDeep dive into javax.sql.DataSource as the production-grade connection factory abstraction for JDBC applications, including DriverManager migration, vendor implementations, container-managed configuration, security, and operational boundaries.
Connection Pooling Fundamentals: Why Pools Exist and What They Are Not
18 minProduction-grade mental model of JDBC connection pooling as a bounded resource: why pools exist, what they solve, what they do not solve, queueing, sizing intuition, failure modes, and anti-patterns.
HikariCP Fundamentals: Architecture, Defaults, and Lifecycle
21 minProduction-grade introduction to HikariCP: architecture, lifecycle, HikariDataSource, HikariConfig, logical connection proxies, validation, housekeeper behavior, shutdown, observability, and common anti-patterns.
HikariCP Configuration Deep Dive
24 minDeep dive into HikariCP configuration: essential properties, timeout semantics, pool sizing-related knobs, lifecycle properties, validation, leak detection, transaction defaults, metrics, JMX, driver properties, and production configuration anti-patterns.