A JDBC result set provides access to rows returned by a database query. Treat it as a data-oriented boundary: extract column labels and values, then pass the resulting data onward without prematurely binding concrete types. section 10.1
From rows to maps
A conversion utility reads metadata, advances through each row, retrieves every column as an Object, and produces a List<Map<String, Object>>. A book search can then serialize those maps as JSON; concrete types matter at serialization time. section 10.1



