Инструменты для автоматической генерации Daos

Меня не интересуют Spring/JPA и т. д. Мне нравится прямо JDBC/ODBC.

Мне было интересно, какие хорошие (фактически готовые к работе) инструменты позволяют использовать схему базы данных и генерировать объекты/daos, которые извлекают/обновляют их? Меня интересуют Java и C++. Я заинтересован в дальнейшем развитии C++, чтобы уйти от всего этого безумия Spring/Maven/Hibernate и перестать абстрагироваться. Я хотел бы перейти к коду. Мне нравится, как я могу исследовать сгенерированный JDBC dao и понять, что происходит с моим конкретным уровнем изоляции транзакций. На самом деле мне нравится отлаживать сложные взаимоблокировки, потому что я понимаю простой код JDBC. Кроме того, я просто ищу хорошие инструменты для генерации кода для Java/C++, которые позволяют создавать качественные Daos.

Это отличный инструмент, но он работает только с java. http://www.codefutures.com/products/firestorm/

Кстати, почему модель Dao/POJO/POCO преобладает в мире C++? Это значительно упрощает понимание кода!


person JChristopher    schedule 03.08.2010    source источник


Ответы (3)


Вы можете попробовать генератор кода Telosys с шаблонами для собственного JDBC DAO. Он прост в использовании и все бесплатно.

Он работает с существующей базой данных или с простой текстовой моделью. На данный момент шаблоны в основном предназначены для Java, Python и JavaScript, но вы можете настроить существующие шаблоны для создания C/C++ DAO.

См. http://www.telosys.org.

А шаблоны для JDBC DAO доступны на GitHub: https://github.com/telosys-templates-v3< /а>

person John T    schedule 09.03.2015

В наших старых приложениях мы используем набор сценариев, которые выгружают базу данных MySQL и используют схему в качестве входных данных для (шаблонных) POJO. Однако это очень сильно зависит от базы данных.

Для меня преимущество использования таких инструментов, как Hibernate, заключается в слабой связи с базой данных для разработчика. Вам не нужно знать все диалекты баз данных; Спящий режим делает. Это удобно, потому что на производственных серверах работают DB2, Oracle или MySQL, а наши тесты Junit используют SQLite с другим синтаксисом.

Hibernate также имеет отличные средства отладки в файле журнала, поэтому я не чувствую боли от непонимания того, что происходит:) Наши управляемые приложения EJB2, однако, являются болью :(

person extraneon    schedule 03.08.2010

Почему вся эта чушь? Вы можете преобразовать ResultSet в Map и наоборот на основе метаинформации таблицы во время выполнения. Легко, просто.

Преимущества выделенного движка в первую очередь проявляются, когда вам нужно масштабировать, поэтому не усложняйте его. Вы можете изменить его позже, если это необходимо.

person Thorbjørn Ravn Andersen    schedule 03.08.2010