56 votes

équivalent Java Micro ORM

Quel serait l'équivalent le plus proche en Java d'un Micro ORM tel que Dapper , PetaPoco , Massive o CodageHorreur ?

26voto

tomaszkubacki Points 868

Sql2o semble être une alternative à Dapper, une enveloppe fine autour de JDBC.

String sql =
    "SELECT id, category, duedate " +
    "FROM tasks " +
    "WHERE category = :category";
Sql2o sql2o = new Sql2o(DB_URL, USER, PASS);
List<Task> tasks = sql2o.createQuery(sql)
    .addParameter("category", "foo")
    .executeAndFetch(Task.class);

github - https://github.com/aaberg/sql2o

site - http://www.sql2o.org/

22voto

Arnelism Points 558

Je recommande Modèles Spring JDBC . Bien qu'il ne s'agisse pas d'un "vrai" ORM, c'est un plaisir à utiliser là où Hibernate semble être une surcharge.

17voto

Lukas Eder Points 48046

Voici une liste d'outils qui "facilitent" l'interaction avec le JDBC simple :

Et voici une liste d'outils qui vont un peu plus loin que le simple JDBC, c'est-à-dire qui fournissent des fonctionnalités ORM / ActiveRecord.

  • jOOQ (Celui-ci n'est probablement pas qualifié de micro-ORM)
  • JaQu
  • ActiveJDBC (Il s'agit plus d'une API ActiveRecord que d'un ORM).
  • MyBatis (Celui-ci se concentre sur les modèles SQL, mais possède également des fonctionnalités de mapping)
  • EBean

6voto

tomaszkubacki Points 868

Un autre ORM léger intéressant est JDBI . Voici Introduction de cinq minutes

Il dispose de deux API alternatives :

API fluide

DBI dbi = new DBI(ds);
Handle h = dbi.open();

String name = h.createQuery("select name from something where id = :id")
                    .bind("id", 1)
                    .map(StringMapper.FIRST)
                    .first();

et API des objets SQL où les instructions SQL sont mises en correspondance avec les méthodes avec des interfaces déclaratives comme celle-ci :

public interface MyDAO
{
  @SqlUpdate("create table something (id int primary key, name varchar(100))")
  void createSomethingTable();
}

DBI dbi = new DBI(ds);
MyDAO dao = dbi.open(MyDAO.class);
dao.createSomethingTable();

3voto

Anaud Roger Points 11

Vérifiez également SimpleFlatMapper

Il s'agit d'un simple mappeur ResultSet vers Object performant. Il se branche simplement sur Jdbc et donne de bien meilleures performances que Hibernate Ibatis ou même sql2o. Il intègre facilement JdbcTemplate et fournit des injections de constructeurs, de setter et de champs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X