anorm.postgresql

Type members

Inherited classlikes

Inherited from:
PGJson
Inherited from:
PGJson

Value members

Inherited methods

def asJson[T](value: T)(implicit w: Writes[T]): ParameterValue

Sets a value as a JSON parameter.

Sets a value as a JSON parameter.

Type parameters:
the

type of value to be written as JSON

Value parameters:
value

the value to be passed as a JSON parameter

w

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()
Inherited from:
PGJson
def asNullableJson[T](value: Option[T])(implicit w: Writes[T]): ParameterValue

Sets an optional value as a JSON parameters.

Sets an optional value as a JSON parameters.

Type parameters:
the

type of value to be written as JSON

Value parameters:
value

the optional value to be passed as a JSON parameter

w

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()
Inherited from:
PGJson
def fromJson[T](implicit r: Reads[T]): Column[T]
Value parameters:
r

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)
Inherited from:
PGJson

Implicits

Implicits

implicit val UUIDToSql: ToSql[UUID]

Instance of ToSql to support PostgreSQL UUID parameter

Instance of ToSql to support PostgreSQL UUID parameter

Inherited implicits

implicit val jsObjectColumn: Column[JsObject]
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)
Inherited from:
PGJson
implicit val jsValueColumn: Column[JsValue]
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)
Inherited from:
PGJson
implicit def jsValueToStatement[J <: JsValue]: ToStatement[J]

Allows to pass a JsValue as parameter to be stored as PGobject.

Allows to pass a JsValue as parameter to be stored as PGobject.

Inherited from:
PGJson