【问题标题】:Slick Plain Sql Generic Return Type光滑的普通 Sql 通用返回类型
【发布时间】:2015-11-30 09:53:55
【问题描述】:

我正在尝试使用 Slick 编写可配置的 sql 查询执行器。用户提供了一个准备好的语句?并在运行时通过替换形成确切的查询?有价值观。

通常这是使用 slick 运行普通 sql 查询的方式。

val query = sql"#$queryString".as[(String,Int)]

在我的情况下,我不知道结果类型,所以我想取回一个通用的结果类型。也许是一个元组列表,每个元组代表一行结果集。

关于如何做到这一点的任何想法?

【问题讨论】:

    标签: sql scala generics slick


    【解决方案1】:

    我从一个 scala git 问题中找到了解决方案。这里是

    ResultMap extends GetResult[Map[String, Any]] {
      def apply(pr: PositionedResult) = {
        val resultSet = pr.rs
        val metaData = resultSet.getMetaData();
        (1 to pr.numColumns).map { i =>
          metaData.getColumnName(i) -> resultSet.getObject(i)
        }.toMap
      }
    

    然后我们可以简单地做val query = sql"#$queryString".as(ResultMap)

    希望对你有帮助!!

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多