在 Slick 3.1.1 中比较日期
Posted
技术标签:
【中文标题】在 Slick 3.1.1 中比较日期【英文标题】:Compare Dates in Slick 3.1.1 【发布时间】:2016-03-22 18:43:17 【问题描述】:我正在尝试使用 slick 3.1 编写一个简单的过滤器查询。我成功地编写了转换为 Rep[Integer] 的整数类型。但是如何实现 java.util.Date 在过滤器查询中转换为 Rep[Date] 的比较?
val compareWithDate = new GregorianCalendar(2014, Calendar.FEBRUARY, 11).getTime() // for example
val persons = TableQuery[Persons]
dbConfig.db.run(persons.filter(???))
【问题讨论】:
【参考方案1】:您可以使用slick-joda-mapper
https://github.com/tototoshi/slick-joda-mapper 并将您的类型转换为易于在过滤器中使用的 Rep[DateTime]
使用非常简单,只需要导入你需要的joda支持就可以使用这些类型的对象:
日期时间、即时、LocalDateTime、LocalDate、LocalTime、DateTimeZone
在你的桌子上你会有这样的东西:
def createdDt = column[DateTime]("created_dt")
看看这里的一些例子:https://github.com/tototoshi/slick-joda-mapper/blob/master/src/test/scala/com/github/tototoshi/slick/JodaSupportSpec.scala#L191
【讨论】:
以上是关于在 Slick 3.1.1 中比较日期的主要内容,如果未能解决你的问题,请参考以下文章