Я использую JDBC (и jdbcTemplate spring-jdbc) для доступа к моей базе данных в веб-приложении Java. У меня много разных разных запросов, некоторые из которых я присоединяюсь к таблице там, один с подзапросом, другой с использованием группы здесь и т. д. и т. д.
Часто мне нужен результат только для отображения конкретной таблицы, созданной JSP, поэтому я могу просто использовать удобный метод queryForList, который возвращает List<Map<String, Object>>
, список, каждая строка которого представлена картой, которая сопоставляет имена столбцов со значениями. В JSP это просто отлично, в любом случае нет проверки типа во время компиляции, нет завершения кода для свойств с помощью eclipse и т. д.
Но иногда у меня есть java-код для обработки результата запроса, и я думаю, что было бы полезно работать не с картами, а с реальными объектами, в основном для проверки во время компиляции, действительно ли существуют свойства, имеют ли они правильный тип и, конечно, чтобы иметь завершение кода.
Но если я хочу этого, мне нужно написать объект для каждого отдельного запроса, который может быть многими объектами (страницы кода, не содержащие ничего, кроме сеттеров и геттеров).
Как лучше всего поступить в этой ситуации? Просто написать эти чертовы объекты? Или есть лучший способ?