MySQL データベースにエントリを挿入する Scala 関数があります。正常に挿入されたエントリの数を数えて、それを呼び出し元に返したいと思います。基本的には、次のようになります。
def putInDB(lstItems: List[String]): Int = {
Class.forName("com.mysql.jdbc.Driver")
val dbConn = DriverManager.getConnection("jdbc:mysql://localhost/somedb?" "user=someuser&password=somepass")
val stmt = dbConn.createStatement
var insertCount = 0 //Not sure if this is the right way
lstItems.foreach { l =>
val res = stmt.executeUpdate("insert ignore into mytable ... ")
if (res > 0) insertCount = insertCount + 1 // Nor this
}
insertCount
}
var insertCount
ループ内の変数を更新する方法が正しいかどうかはわかりません。私の関数型プログラミングのスキルは少し錆びています。「機能的な」スタイルでカウントを維持する正しい方法は何ですか? つまり、不変変数を使用しif
、私が使用した種類のステートメントを避けます。