KotlinでWebアプリケーションを作るにあたり、SQLを直接記述できるタイプのO/Rマッパー(本稿ではSQLマッパーと呼びます)を探し求めました。 SQLマッパーに求める機能 SQLマッパーに求める機能はBindとMapです。この記事ではBindとMapを次のように定義します。 Bind SQLに埋め込んだプレースホルダー(名前付きが望ましい)に対応するパラメーター群を渡す機能。 例: SELECT ... WHERE price BETWEEN :minPrice AND :maxPrice のようなSQLに、minPriceとmaxPriceプロパティを持つオブジェクトを渡す。 Map 実行結果として得られた行をオブジェクトにマッピングする機能。 例: SELECT id, name, price FROM ... のようなSQLの実行結果を、id, name, price のプロ