scala.dbc は Scala に添付のデータベース操作用のライブラリです。ORM ではなくて、JDBCのラッパです。メンテナンスもあまりアクティブでないため、そのうち無くなると思いますが、SQL を DSL のようにタイプセーフで書けるので勉強になるかも・
一応 H2 を利用した例だけ載せときます。H2 の JAR をクラスパスに追加して実行するだけ。
import scala.dbc._ import scala.dbc.Syntax._ import scala.dbc.syntax.Statement._ object Runner { object H2SQL extends Vendor { val uri = new java.net.URI("jdbc:h2:mem:test")//インメモリ val user = "sa" val pass = "" val retainedConnections = 5 val nativeDriverClass = classOf[org.h2.Driver]; val urlProtocolString = "jdbc:h2:" } def main(args: Array[String]) { val db = Database(H2SQL) val sql = select fields ("count(*)" of bigint) from ("dual") val rows = db.executeStatement(sql) for (val r <- rows; val f <- r.fields) println(f.content.sqlString) db close } }
SQL の記述は興味深いですね。
val sql = select fields ("count(*)" of bigint) from ("dual")