scalaplayframeworkanorm

How to use Anorm outside of Play?


How do you use Anorm outside of play in Scala? In the Anorm document for play, it simply uses something like:

DB.withConnection { implicit c =>
  val result: Boolean = SQL("Select 1").execute()    
} 

The DB object is only for Play. How do you use Anorm alone without using Play?


Solution

  • There is no need of DB object (part of Play JDBC not Anorm). Anorm works as along as you provide it connection as implicit:

    implicit val con: java.sql.Connection = ??? // whatever you want to resolve connection
    
    SQL"SELECT * FROM Table".as(...)
    

    You can resolve JDBC connection in many way: basic DriverManager.getConnection, JNDI, ...

    As for dependency, it's easy to add it in SBT: How to declare dependency on Play's Anorm for a standalone application? .