2011-05-18 8 views
8

Poszukuję darmowego i prostego generatora DAO dla java (musi on tworzyć byty/beny z tabel/widoków db i generować podstawowy kod CRUD). Obecnie używam DAO4J, który nie ma niektórych funkcji, takich jak mapowanie widoków. Wiem, że istnieją struktury takie jak Hibernate, ale nie potrzebuję tak solidnego szkieletu.Generator DAO dla java

Niektóre rzeczy ramy te powinny mieć na celu:

  • Generowanie operacji CRUD z standardowych zapytań SQL, a nie w czasie kompilacji typesafe odpytuje
  • nie ma koncepcji sesji jak hibernacja
  • nie będzie automatycznie Ścisły związek
  • JDBC połączenia mogą być konfigurowane za pomocą kodu

Odpowiedz

8

Żaden z nich są doskonałe wyniki, ale zarówno rock, we własnym indywidualny sposób:

  1. Spring Roo generuje DAOs, Web Kontrolery i więcej dla Ciebie.
  2. QueryDSL automatycznie creates Objects from your database tables i oferuje obiektową składnię zapytań z bezpieczeństwem podczas kompilacji.

Ale powiedziałbym, że zwycięzcą jest Spring Data. Oferuje prostą, ale potężną abstrakcję dla wielu różnych bazowych technologii przechowywania danych i automatycznie generuje dla ciebie pliki daos. Oto prezentacja Spring Data JPA. Niestety, Spring Data nie została jeszcze wydana w ostatecznych wersjach.

+0

DeltaSpike (https://deltaspike.apache.org/) jest alternatywą dla Apache, a szybki spacer można zobaczyć na https://jaxenter.com/top-3-jpa-productivity-boosters-for -java-ee-developers-deltaspike-data-116136.html – user3257644

+0

@ user3257644 Proponuję napisać to jako dodatkową odpowiedź –

2

I woul Nie bądźcie zbytnio za automatycznym generowaniem.

Mogę polecić iBatis jako pół kroku między JDBC i Hibernate.

+2

Projekt zmienił się teraz na myBatis: http: //www.mybatis.org/ –

2

Możesz to zrobić pod numerem Hibernate Tools. Ale ja osobiście nigdy tego nie próbowałem, stworzyłem już tylko klasy jednostek.

+0

Jedną z rzeczy, którą znalazłem w Hibernate, jest to, że po uzyskaniu pewnej krzywej uczenia się może być dość stromo obok podstawowych rzeczy CRUD. Dla mnie wzrost wydajności spadł dość szybko, gdy minęło początkowe prototypowanie. Czasami łatwiej jest po prostu użyć pocisków ołowiowych. Teraz używam tylko Spring JDBCTemplates. Uważam, że zapewnia on dobry miks ograniczania kodu standardowego, a jednocześnie pozwala na wykonywanie złożonych zapytań. – BillMan

6

Aby dodać do odpowiedzi duffymo, MyBatis jest dobry i można użyć MyBatis generator do wygenerowania kodu dostępu do danych.

2

Dodałbym iBatis. Inną propozycją może być Spring JDBCTemplate. Ponieważ dobrze jest przyjąć ramkę, więc dlaczego nie pójść z Spring. Ułatwi ci to także z innymi wspaniałymi rzeczami.

+0

Jestem nowy w Javie i mój projekt jest ograniczony czasowo, więc nie mogę marnować czasu na uczenie się nowych dużych frameworków. Mam nadzieję, że pewnego dnia skorzystam z platformy Spring ... –

+1

@Ivan: Blask wiosny tkwi w jej dystrybucji i wykorzystaniu. Jest tak duży, jak go używasz. –

+0

Nie mogę się z tym bardziej zgadzać, ale ponieważ jestem początkującym w świecie Java, to jest trochę pośpiechu z tymi wszystkimi nowościami. –

4

Jeśli potrzebujesz tylko generatora kodu bez przestrzegania frameworków, powinieneś wypróbować Telosys Tools. Jest to lekkie narzędzie, generuje kod z istniejącego modelu bazy danych.

Zobacz https://www.telosys.org

Niektóre szablony są specjalnie zaprojektowane do generowania kodu JDBC, są one dostępne na GitHub https://github.com/telosys-templates-v3

Oferują one generowanie kodu dla DAO, interfejsy DAO POJO (fasola), testy JUnit , itp.