我有一个将条目插入 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
我使用过的那种语句。