資料の目的
MyBatis Dynamic SQLの導入により、SQL周りのJava開発を楽にしたい!
MyBatis Dayamic SQLとは?
-
SQL文をJavaの関数で書けるようにするMyBatisの機能です
-
Java上でMyBatisのアノテーション+SQLベタ書きで書かなくなります
-
通常のMyBatis同様、MavenやGradleでインストールできます
結論
メリット
- Javaの関数で、WHERE、ORDER BY、IN、LIKE、JOIN、AS、DISTINCT、MAXはもちろん、INSERT文、UPDATE文、DELETE文も書けます。if else文、CASE文、サブクエリ文、LIMIT OFFSET文も対応しています。SQL文はJavaの関数で表現できるため、Eclipse等のIDEによる文法チェック機能や一括修正機能の恩恵を受けられ、保守性に優れています
- MyBatis Generatorに対応しており、テーブルやカラムのマッピングは自動生成が可能です
- xmlファイルを作らずに済みます。並行して利用することもできます
- 公式のリリースが続いています
デメリット
- 書く文量が多いです。そのためコピペを多用せざるを得ません
リンク集
公式サイトはこちらです。ドキュメントが充実しています。
https://mybatis.org/mybatis-dynamic-sql/docs/quickStart.html
公式GitHubはこちらです。テストソースに実際のMyBatis Dynamic SQLの文が大量に載っており便利です。
https://github.com/mybatis/mybatis-dynamic-sql
所感
主観になりますが、MyBatis Dynamic SQLはあまりにも便利すぎて、偉大な発明とさえ思ったりします。広まれ~広まれ~
Java以外の言語にも同様のツールがあればいいなと思います。