フォーラム » つれづれ Java編 »
RDBMSアクセスライブラリ
- 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)
各種ライブラリ紹介資料 - 高橋 徹 さんがほぼ5年前に追加
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) |