【Scala】【ScalikeJDBC】 Config設定方法
環境 Scala 2.11.8 ScalikeJDBC 2.5.0
基本的にはこの内容 Configuration - ScalikeJDBC
scalikejdbc-conifg, application.confは設定方法によって必要
build.sbt
libraryDependencies ++= Seq( "org.scalikejdbc" %% "scalikejdbc" % "2.5.0", "org.scalikejdbc" %% "scalikejdbc-config" % "2.5.0", "mysql" % "mysql-connector-java" % "6.0.5", "ch.qos.logback" % "logback-classic" % "1.1.7" )
- src/main/resourcese/application.conf
development { db { sandbox { driver="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="sa" password="" } } }
/** * ConnectionPool config sample */ package main.scala.com.example import scalikejdbc._ import scalikejdbc.config._ import com.mysql.cj.jdbc.Driver object Db1{ /** * Pattern 1 */ def ex1 = { // Initialize ConnectionPool.singleton("jdbc:mysql://localhost:3306/test", "sa", "") implicit val session = AutoSession // Query val r = sql"""select * from a""".map(_.toMap).list.apply() println(r) } /** * Pattern 2 * necessary import scalikejdbc.config._ */ def ex2 = { // Initialize Class.forName("com.mysql.cj.jdbc.Driver") val settings = ConnectionPoolSettings( initialSize = 5, maxSize = 20, connectionTimeoutMillis = 3000L, validationQuery = "select 1") ConnectionPool.add('example, "jdbc:mysql://localhost:3306/test", "sa", "", settings) implicit val session = AutoSession // Query val r = NamedDB('example) readOnly { implicit session => sql"""select * from a""".map(_.toMap).list.apply() } println(r) } /** * Pattern 3 * necessary import scalikejdbc.config._ * necessary main/resources/application.conf */ def ex3 = { // Initialize DBsWithEnv("development").setup('sandbox) // addで別の設定を追加する事も可能 implicit val session = AutoSession // Query val r = NamedDB('sandbox) readOnly { implicit session => sql"""select * from a""".map(_.toMap).list.apply() } println(r) } }