在 prequel 中,一个使用 scala 进行 JDBC 访问的精益库,以下语句有效:
val stmt = "SELECT content FROM email WHERE to_email = '" + toEmail + "' AND subject LIKE 'Hi " + firstName + ", please activate your Account...' AND from_user_id IS NULL"
val activationRows = selectNewsDB(stmt)
而带有'%foo%'的那个-
val stmt = "SELECT content FROM email WHERE to_email = '" + toEmail + "' AND subject LIKE '%please activate%' AND from_user_id IS NULL"
失败并显示此错误消息:
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = 'p'
如果我 println 语句并将其复制/粘贴到 mysql 控制台,它也可以正常工作。
为了完整起见,这是前传代码,newsDB 的类型为 DatabaseConfig
def selectNewsDB(stmt: String):Seq[String] ={
newsDB.transaction { tx =>
tx.select( stmt ) { r =>
r.nextString.get
}
}
}