Работая над проектом уже довольно долго, я сразу же задался целью максимально облегчить себе жизнь. После того, как у нас «устаканилась» архитектура и стало ясно, как надо правильно писать, я сразу решил, что необходимо избавлять себя от рутины.
Для этого я написал небольшое приложение, которое используя Velocity генерирует классы согласно нашей архитектуре для работы с базой данных для некоторой сущности, которая основывается на таблице из БД.
После 4 часов работы в конфигурационном файле указываешь:
- данные для подключения к БД
- имя таблицы, на основе которой будет генерироваться набор файлов
- имя пакета и имя класса (имя класса зачастую вычислить автоматически нельзя, так как в названии таблиц очень часто присутствуют префиксы)
- имя директории с шаблонами на основе которых будут генерироваться файлы
- имя директории, в которую будут генерироваться файлы
и на выходе получаешь полный набор классов. В итоге:
- никакого copy-paste
- отсутствие мелких ошибок
- автоматически сгенерированы тесты
В общем, благодать.
Но чего не хватало. Во первых, это конечно не сложно, но при необходимости сгенерировать набор классов, необходимо было править конфигурационный файл, в котором всё заново указывать. Казалось бы, вся информация уже имеет у IDE. Любая более менее продвинутая IDE знает, какие есть классы в проекте, какая БД используется и какие в ней таблицы. Хотелось добиться лёгкости. Выбрал таблицу, нажал кнопку, заполнил в Wizard’е пару полей, выбрал пару lookup’ов и всё. Всё готово. Не жизнь, а сказка.
Осталось только выбрать, что расширять. У нас на выбор есть
Eclipse какой то уж очень монструозный, а вот NetBeans показался мне довольно дружелюбным и простым. И, не смотря на то, что Oracle (который поддерживает Eclipse) купил Sun, я решил расширять NetBeans. Не малую роль сыграл туториал по созданию визуализации схемы БД. Посмотрим, что у меня получиться. Постараюсь не полениться и описать, что у меня получилось.

Заметил очень одну интересную тенденцию, что если не писать посты в блог, то очень многие вещи просто пролетают незаметно. Вроде бы и важно, а на завтра уже и забыл про все эти важности :)