Quel serait l'équivalent le plus proche en Java d'un Micro ORM tel que Dapper , PetaPoco , Massive ou CodingHorror ?
Je recommande modèles Spring JDBC . Bien que ce ne soit pas un "vrai" ORM, c'est un plaisir à utiliser là où Hibernate semble exagéré.
sql2o semble être une alternative à Dapper - wrapper fin 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/
Voici une liste d'outils qui "soulagent la douleur" lors de l'interaction avec un JDBC simple:
Et voici une liste d'outils qui vont un peu au-delà du simple JDBC, c'est-à-dire fournissent des fonctionnalités ORM/ActiveRecord
Un autre ORM léger intéressant est JDBI . Voici introduction de cinq minutes
Il a deux API alternatives:
API Fluent
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 SQL Object où les instructions SQL sont mappées à des 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();
Commander également SimpleFlatMapper
C'est un mappeur ResultSet vers Object simple et 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 l'injection de constructeur, de setter et de champ.
Celui-ci ne semble pas encore mentionné ici: dalesbred
Similaire à sql2o et dapper ...