プロジェクト

全般

プロフィール

RDBMSアクセスライブラリ

高橋 徹 さんが4年以上前に追加

  • Java SE標準のJDBCではプログラミングが大変。
  • JPA準拠ライブラリは大きすぎ、あるいは隠蔽しすぎ、

というときに便利なライブラリを調査。

  • sql2o MITライセンス 1.6.0@2018-10-20
    • 依存ライブラリなし
    • SQLは文字列で記述(パラメータ埋め込みの特殊記号、パラメータ展開メソッド呼び出し)
    • 結果はPOJOに格納(複数件はListに)
  • DbOom 修正BSD、商用ライセンスあり 5.0.13@2019-05-14
    • 依存ライブラリ jodd-core, jodd-bean, jodd-jtx, jodd-props, jodd-log
    • joddライブラリの一部、オープンソース版は商用DB(Oracle、SQL Server、DB2、Infomix、Sybase、…)接続なし
  • Doma 2 APL2 2.25.1@2019-08-25
    • 依存ライブラリなし
    • 自動生成クラスが大量に吐かれる(うぇっ)
  • Mirage-SQL APL2 2.1.0@2018-11-4
    • 依存ライブラリ javassist, slf4j-api, ognl
  • Iciql APL2 2.2.0@2017-02-01
    • 依存ライブラリ なし
  • MyBatis
    • 依存ライブラリなし
    • XMLで定義を書く(Javaで書いてもよい)
  • DBUtils - Apache Commons APL2 1.7@2017-07-16
    • 依存ライブラリなし
  • jOOQ
    • 既存のスキーマからテーブル毎にコード生成、型安全なSQLクエリを記述
    • POJOとデータベースのレコードとをマッピング
  • JDBC Template - Spring
  • jdbi3 APL2 3.9.1@2019-08-29
    • 依存ライブラリ antlr4-runtime, slf4j-api, spotbugs-annotations, jsr305, geantyref
    • 文字列でSQLを書き、POJOで結果を受ける Fluent API, ラムダ式対応
    • メソッド・アノテーションでSQLを指定したJava interfaceを定義

返答 (1)

各種ライブラリ紹介資料 - 高橋 徹 さんがほぼ4年前に追加

Java ORマッパー選定のポイント by 多田真敏さん(2019-01 JSUG勉強会)

ライブラリを4種類に分類

分類 概要 ライブラリ
JDBCラッパー JDBCの薄いラッパー Spring JDBC, DbUtils, sql2o
SQLマッパー SQLとクラスの詰替え MyBatis, Doma, Mirage SQL, Jdbi
クエリビルダー タイプセーフにSQL記述 jOOQ, DBFlute, Reladomo, Querydsl, Ebean, Speedment, Jinq, requery, Cayenne, Torque
ORマッパー 本来のORマッパー JPA (EclipseLink, Hibernate)
    (1-1/1)