- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在学习 Play Framework,推荐的访问数据库的方法是使用内置异常组件。问题是,在异常情况下对 DateTime 没有很好的支持。它仍在使用java.util.Date
.
有没有办法在异常中使用 Joda DateTime 或 java.sql.Timestamp?
如果无法使用 Joda 或 java.sql,我们可以为此添加一个模块吗?
最佳答案
更新:从 2.3.7 开始,现在是 natively supported .
我正在使用以下代码与 Anorm 无缝配合使用 DateTime。
import org.joda.time._
import org.joda.time.format._
import anorm._
object AnormExtension {
val dateFormatGeneration: DateTimeFormatter = DateTimeFormat.forPattern("yyyyMMddHHmmssSS");
implicit def rowToDateTime: Column[DateTime] = Column.nonNull { (value, meta) =>
val MetaDataItem(qualified, nullable, clazz) = meta
value match {
case ts: java.sql.Timestamp => Right(new DateTime(ts.getTime))
case d: java.sql.Date => Right(new DateTime(d.getTime))
case str: java.lang.String => Right(dateFormatGeneration.parseDateTime(str))
case _ => Left(TypeDoesNotMatch("Cannot convert " + value + ":" + value.asInstanceOf[AnyRef].getClass) )
}
}
implicit val dateTimeToStatement = new ToStatement[DateTime] {
def set(s: java.sql.PreparedStatement, index: Int, aValue: DateTime): Unit = {
s.setTimestamp(index, new java.sql.Timestamp(aValue.withMillisOfSecond(0).getMillis()) )
}
}
}
关于scala - Play Framework 2.0 的 Anorm 上的 Joda DateTime 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388301/
object Users { implicit object UserReads extends Reads[User] { def reads(json: JsValue) = JsS
解决方案:我不知道如何返回 Option[User] 的不存在,所以在没有找到用户的情况下,我创建了一个虚拟用户对象并从 Controller 对其进行推理(感觉很糟糕但有效。 ..):来自 Appl
在 Play 框架 2.0 中,我试图使用这样的行解析器从 PostgreSQL 加载一个真正的(即单精度浮点数)类型的列: case class Foo(bar: Float) object Foo
我想在 Scala 中将数据从 SQL server 复制到 vertica,我正在考虑使用 Anorm,但我没有找到任何关于批量插入的文档。如果 Anorm 不支持批量插入,我应该使用什么库? 最佳
我已经使用 Play framework 2.0 大约 6 个月了,我一直想知道为什么他们使用这么多样板代码来解析我的 SQL 查询返回,如下所示: case class Journal_accoun
当我尝试运行时(来自 Play Framework): import play.api.db.DB import anorm._ import org.joda.time.DateTime impor
在 yabe 示例中,有以下查询: def allWithAuthor:List[(Post,User)] = SQL( """
我刚刚开始使用 Anorm 和解析器组合器。似乎有很多样板代码。例如,我有 case class Model( id:Int, field1:String, field2:In
我正在使用游戏!框架与 Anorm 一起访问数据库。我经常看到像下面这样的例子,对象成员被直接注入(inject)到 SQL 语句中。 我的问题是,这些输入是否经过 sanitizer ?大多数示例如
考虑像这样的存储库/DAO 方法,效果很好: def countReports(customerId: Long, createdSince: ZonedDateTime) = DB.withCo
首先,我是 Play 2 Scala 的新手。我正在尝试将我的模型对象与 JSON 进行转换。 根据此博客 http://mandubian.com/2012/10/01/unveiling-play
我发现这个答案可以解决一个字段 -> Inserting multiple values into table with anorm var fields: List[String] = Nil
更新查询返回1,但插入查询返回None。 def que3(params) { DB.withConnection { implicit c => val i=SQL("UPDATE QUE
我正在尝试使用 Anorm(在 play framework 2.3.1 中)对 MySQL 数据库表进行批量插入。我正在构建的应用程序除了需要批量数据插入外,还有一个标准的 Web 前端,我想尝试将
当有记录匹配 WHERE 子句时,这段代码工作正常: val pinfo = SQL("SELECT * FROM tableName WHERE id={id}").on("id" -> "scal
我不想删除并重新插入每一行,所以我使用以下方法尝试将多行与异常一起使用: SQL(""" delete from PERSON_ROLES WHERE
是否可以在 Anorm 中使用带有字符串插值的 LIKE 子句? // e.g. this doesn't work SQL"SELECT * FROM users WHERE last_name L
我有一个可以为空列的表,当查询空列时,它抛出了错误 val row: List[(String,String)] = SQL("select top 10 Spare_Part part,Prici
使用 findBy 如下所示,我可以通过 key 和 value 在 Authentications 表中搜索记录 def findBy(key: String, value: String): An
你如何在 Scala 的游戏之外使用 Anorm?在用于 Play 的 Anorm 文档中,它只是使用以下内容: DB.withConnection { implicit c => val res
我是一名优秀的程序员,十分优秀!