Эквивалент Java Micro ORM [закрыт]


Что было бы самым близким эквивалентом в Java для микро-ORM, такого как щеголеватый,PetaPoco,огромные или CodingHorror?

6 53

6 ответов:

рекомендую Spring JDBC templates. Хотя это не "истинный" ORM, это удовольствие использовать там, где Hibernate кажется излишним.

sql2o кажется щегольской альтернативой-тонкая обертка вокруг 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

сайт -http://www.sql2o.org/

вот список инструментов, которые "облегчают боль" при взаимодействии с простым JDBC:

и вот список инструментов, которые выходят немного за рамки простого JDBC, т. е. предоставляют некоторые ORM / ActiveRecord услуги

  • jOOQ (это, вероятно, не квалифицируется как микро-ORM)
  • JaQu
  • ActiveJDBC (Это больше API ActiveRecord, чем ORM)
  • MyBatis (этот фокусируется на шаблонах SQL, но также имеет некоторые функции отображения)
  • EBean

еще один интересный свет ОРМ JDBI. Вот это пятиминутное вступление

Он имеет два альтернативных API:

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

и SQL Object API где операторы SQL сопоставляются с методами с декларативными интерфейсами, такими как:

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

также проверка SimpleFlatMapper

Это простой результирующий набор для отображения объектов. Он просто подключается поверх jdbc и дает гораздо лучшую производительность, чем Hibernate Ibatis или даже sql2o. он легко интегрирует JdbcTemplate и обеспечивает инъекцию конструктора, сеттера и поля.

этот, кажется, еще не упоминается здесь:dalesbred

похоже на sql2o и dapper...