Instance of ToSql
to support PostgreSQL UUID parameter
Sets a value as a JSON parameter.
Sets a value as a JSON parameter.
the value to be passed as a JSON parameter
the Play writes to be used to serialized the value as JSON
import play.api.libs.json._ import anorm._, postgresql._ case class Foo(bar: String) implicit val w: Writes[Foo] = Json.writes[Foo] implicit def con: java.sql.Connection = ??? val value = asJson(Foo("lorem")) SQL("INSERT INTO test(id, json) VALUES({id}, {json})"). on("id" -> "bar", "json" -> value).executeUpdate()
Sets an optional value as a JSON parameters.
Sets an optional value as a JSON parameters.
the optional value to be passed as a JSON parameter
the Play writes to be used to serialized the value as JSON
import play.api.libs.json._ import anorm._, postgresql._ case class Foo(bar: String) implicit val w: Writes[Foo] = Json.writes[Foo] val someVal = asNullableJson(Some(Foo("lorem"))) val noVal = asNullableJson(Option.empty[Foo]) implicit def con: java.sql.Connection = ??? SQL("INSERT INTO test(id, json) VALUES({id}, {json})"). on("id" -> "bar", "json" -> someVal).executeUpdate() SQL("INSERT INTO test(id, json) VALUES({id}, {json})"). on("id" -> "bar", "json" -> noVal).executeUpdate()
the Play reader to be used from the selected JSONB value
import play.api.libs.json.Reads import anorm._, postgresql._ case class Foo(bar: String) def foo(implicit con: java.sql.Connection, r: Reads[Foo]): Foo = SQL"SELECT json FROM test". as(SqlParser.scalar(fromJson[Foo]).single)
import play.api.libs.json.JsObject import anorm._, postgresql._ def foo(implicit con: java.sql.Connection) = SQL"SELECT json FROM test".as(SqlParser.scalar[JsObject].single)
import play.api.libs.json.JsValue import anorm._, postgresql._ def foo(implicit con: java.sql.Connection) = SQL"SELECT json FROM test".as(SqlParser.scalar[JsValue].single)
Allows to pass a JsValue
as parameter to be stored as PGobject
.
Allows to pass a JsValue
as parameter to be stored as PGobject
.