【问题标题】:scalaquery how to create datetimescalaquery如何创建日期时间
【发布时间】:2011-11-20 18:31:17
【问题描述】:

我发现 scalaquery 使用 java.sql.date 作为日期对象。但是当我创建 java.sql.date 时它会减少时间。

有什么方法可以用来在 scalaquery 中创建 mysql datetime 字段吗?

【问题讨论】:

  • 没有要测试的 mysql 实例,但是您是否尝试过使用 String 和 mysql 日期时间之间的隐式转换?

标签: scalaquery


【解决方案1】:

ScalaQuery 中不支持java.util.Date。但是,可以使用您自己的类型映射器来增强 ScalaQuery。对于java.util.Date,这样的包装器可能看起来像这样

 implicit val JavaUtilDateTypeMapper = MappedTypeMapper.base[java.util.Date, Long]  (_.getTime, new java.util.Date(_))

java.util.Date 转换为简单的 Long。这取决于您的数据库什么是最佳目标,在我的情况下,Long 可以完美地工作。

【讨论】:

  • +1 不错的提示,@Steffan。传递长日期直到您需要一个日期(即在查询时),而不是创建一个日期(例如从字符串 uri 日期)并传递给查询方法。
【解决方案2】:

在声明列时,尝试使用java.sql.Timestamp,而不是使用java.sql.Date

看起来这样可以为包含日期和时间元素的列生成更好的映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2020-03-05
    • 2020-08-21
    相关资源
    最近更新 更多