参数类型的隐式 ParameterBinderFactory[org.joda.time.LocalDateTime]

Posted

技术标签:

【中文标题】参数类型的隐式 ParameterBinderFactory[org.joda.time.LocalDateTime]【英文标题】:Implicit ParameterBinderFactory[org.joda.time.LocalDateTime] for the parameter type 【发布时间】:2021-08-28 07:17:15 【问题描述】:

我调出了scalikejdbc版本,出现如下错误:

[错误] 隐式 ParameterBinderFactory[org.joda.time.LocalDateTime] 缺少参数类型 org.joda.time.LocalDateTime。 [错误] 您需要为类型定义 ParameterBinderFactory 或使用 AsIsParameterBinder。

  def toUpdaters: Seq[(SQLSyntax, ParameterBinder)] = 
    val ses = SeasonProjection.column
    Seq(
      start.map(ses.start -> _) //<- here

我该如何解决这个问题?

我没有找到任何例子

【问题讨论】:

【参考方案1】:

您可以查看http://scalikejdbc.org/documentation/operations.html 的文档,使用 joda-time 库部分。

您需要添加一个库以允许 scalikejdbc 与 Joda 一起使用:

libraryDependencies += "org.scalikejdbc" %% "scalikejdbc-joda-time" % "3.5.0"

然后在您的代码中使用适当的导入,例如:

// If you need ParameterBinderFactory for joda-time classes
import scalikejdbc.jodatime.JodaParameterBinderFactory._
// If you need TypeBinder for joda-time classes
import scalikejdbc.jodatime.JodaTypeBinder._

话虽如此,您可能希望摆脱 Joda 以支持 java.time,它是当今日期/时间表示的标准,并且大部分时间都由库开箱即用地支持。

【讨论】:

以上是关于参数类型的隐式 ParameterBinderFactory[org.joda.time.LocalDateTime]的主要内容,如果未能解决你的问题,请参考以下文章

没有 Encoder[Row] 类型的隐式参数

参数类型的隐式 ParameterBinderFactory[org.joda.time.LocalDateTime]

我收到错误提示没有类型的隐式参数:编码器 []" 在 Spark

找不到参数映射器的隐式值

找不到参数的隐式值

如何确定两个优先于重载解析的隐式转换序列?