私は2つの行と列の値を返すSQLクエリがあります。私はそのデータを取得し、空であるかどうかをチェックしたい。どうやってやるの? 私はplayframeworkとスケーラの新鮮な男のいずれかがここで私を助けてくれることができます。 モデルクラスを使用してレスポンスを格納し、json形式で表示しましたが、データの条件をチェックする方法を知りたいと思います。Scala。再生:データとテスト結果を取得
val query= s""" select * from table"""
override def map2Object(implicit map: Map[String, Any]): HierarchyEntryBillingRoleCheck = {
HierarchyEntryBillingRoleCheck(str("roleName"), oint("PersonID"))
}
ここで、SQLが次のSQLクエリを実行するかどうかを確認する方法を知りたいと思います。
だから、私は型キャストにエラーが発生しますするいくつかの方法を試してみました:
override val singleQuery = s"""select * from Sitable"""
override val allQuery= s"""select * from Sitable1"""
override def map2Object(implicit map: Map[String, Any]): HierarchyEntryBillingRoleCheck = {
HierarchyEntryBillingRoleCheck(str("roleName"), oint("PersonID"))
}
def map2ObjectBilling(implicit map: Map[String, Any]): HierarchyEntryBilling = {
HierarchyEntryBilling(str("Name"), str("Provider"), oint("Year"),
ostr("Month"), ostr("Status"), ostr("ProviderType"))
}
def getAll(implicit loginName: String): Future[Seq[HierarchyEntryBillingRoleCheck]] = {
doQueryIgnoreRowErrors(allQuery, "loginName" -> loginName)
result.map {
if (map2Object.roleName !="" && map2Object.PersonID.isEmpty) {
"error"
} else {
getOnetask()
} //GEtting error with unit type cannot resolve future[seq[]]
}
def getOnetask(): Future[Seq[HierarchyEntryBilling]] = {
doQueryIgnoreRowErrors(singleQuery)
} //Getting error with type unit does not confirm Future[Seq[]]
.// doQueryignoreエラー署名=>
protected def doQueryIgnoreRowErrors(query: String, args: NamedParameter*)
= {
logger.debug(s"SQL: $query, args: $args")
TimedFuture(actualityTimeout) {
queryHandler.doQuery(query, args: _*) map { list =>
// ignore mapping errors of specific rows
list.flatten
}
} flatMap {
case scala.util.Success(s) => Future.successful(s)
case Failure(ex) if ex.isInstanceOf[SQLException] &&
ex.getMessage == "The executeQuery method must return a result set." =>
Future.successful(Nil)
case Failure(fail) =>
Future.failed(fail)
次のような演奏/美しい例についての調査を少し試してみてください。https://github.com/playframework/play-slick/tree/master/samples/basic希望があれば..あなたにもいくつかのオプションがあります私はあなたがスリックを使用していると思うでしょう – Pavel
それは間違いなく私:) :)しかし、私は非常に基本的な質問ですが、理由はないdownvoteときどき理由が疑うでしょう。テーブルからデータを読み込むことはできますか? – Pavel
@Pavel、申し訳ありませんが、実際には私はあなたを意味します、私は一般的に尋ねていました。はい、私はオブジェクトにマップし、私は別々に2つのテーブルからデータを表示することができますが、私は満足するために条件を確認することはできません、私はおそらく型キャスティングでエラーが発生している! –