Эквивалент Java Micro ORM [закрыт]
Что было бы самым близким эквивалентом в Java для микро-ORM, такого как щеголеватый,PetaPoco,огромные или CodingHorror?
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:
- весной JdbcTemplate
- Apache DbUtils
- JDBI
- sql2o
- persism
и вот список инструментов, которые выходят немного за рамки простого 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...