java subsonic dapper petapoco massive

Java Micro ORM equivalente



subsonic dapper (6)

Aquí hay una lista de herramientas que "alivian el dolor" al interactuar con JDBC simple:

Y aquí hay una lista de herramientas que van un poco más allá del simple JDBC, es decir, proporcionan algunas instalaciones ORM / ActiveRecord

  • jOOQ (Este probablemente no califica como micro-ORM)
  • JaQu
  • ActiveJDBC (Esta es más una API de ActiveRecord, que una ORM)
  • MyBatis (Este se centra en la creación de plantillas SQL, pero también tiene algunas características de mapeo)
  • EBean

¿Cuál sería el equivalente más cercano en Java a un Micro ORM como Dapper , PetaPoco , Massive o CodingHorror ?


Este no parece ser mencionado aquí todavía: dalesbred

Similar a sql2o y dapper ...


Otro ORM ligero interesante es JDBI . Aquí hay cinco minutos de introducción

Tiene dos API alternativas:

Fluent API

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();

y SQL Object API donde las declaraciones de SQL se asignan a métodos con interfaces declarativas como esta:

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();


Recomiendo las plantillas Spring JDBC . Si bien no es un ORM "verdadero", es un placer usarlo donde Hibernate parece ser un exceso.


También compra SimpleFlatMapper

Es un correlacionador simple ResultSet to Object. Simplemente se conecta a jdbc y ofrece un rendimiento mucho mejor que Hibernate Ibatis o incluso sql2o. Integra fácilmente JdbcTemplate y proporciona el constructor, el setter y la inyección de campo.


sql2o parece una alternativa de Dapper: envoltura delgada alrededor 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

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