web-dev-qa-db-ja.com

Java同等のマイクロORM

Java DapperPetaPocoMassive などのMicro ORMに最も近いものは何ですか? CodingHorror

56
Kynth

Spring JDBCテンプレート をお勧めします。これは「真の」ORMではありませんが、Hibernateが過剰であると思われる場所で使用することは喜びです。

22
Arnelism

sql2oはDapperの代替手段のようです-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/

24
tomaszkubacki

以下は、単純なJDBCと対話するときに「痛みを和らげる」ツールのリストです。

そして、これは単純なJDBCを少し超える、つまりいくつかのORM/ActiveRecord機能を提供するツールのリストです

  • jOOQ (これはおそらくmicro-ORMとしての資格がありません)
  • JaQ
  • ActiveJDBC (これはORMよりもActiveRecord APIの詳細です)
  • MyBatis (これはSQLテンプレートに焦点を当てていますが、いくつかのマッピング機能も備えています)
  • EBean
15
Lukas Eder

別の興味深いライトORMは[〜#〜] jdbi [〜#〜]。こちらが 5分の紹介

2つの代替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オブジェクト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();
5
tomaszkubacki

また、チェックアウト SimpleFlatMapper

これは、パフォーマンスが高くシンプルなResultSetからObject mapperです。 jdbcの上にプラグインするだけで、Hibernate Ibatisやsql2oよりもはるかに優れたパフォーマンスが得られます。 JdbcTemplateを簡単に統合し、コンストラクター、セッター、フィールドインジェクションを提供します。

3
Anaud Roger

これはまだここでは言及されていないようです: dalesbred

Sql2oとdapperに似ています...

2
jl.