mirage-scalaでもMirage同様、SQLのパラメータや結果の取得にJavaBeanを使用します。たとえばこんな感じ。一応、@BeanPropertyアノテーションを付けなくても行けるようにしてありますが、varだったりnullで初期化する必要があったりと、ちょっとJavaっぽいかも。
class Book { var bookId: java.lang.Integer = null var bookName: String = null var author: String = null var price: java.lang.Integer = null }
プロパティの値はコンストラクタで受け取るようにすることもできます。こうすることでフィールドをvalにしたり、caseクラスにすることができます。こっちのほうがScalaっぽいですかね。
class Book (
val bookId: java.lang.Integer,
val bookName: String,
val author: String,
val price: java.lang.Integer)
ちなみにMirageではJavaBeanの代わりにjava.util.Mapを使用することができますが、mirage-scalaではこれに加えてScalaのMapを使用できるようになっています。