by shigemk2

当面は技術的なことしか書かない

JavaのforNameをScalaで使うとか

なんとなくfactory-girlをMySQL経由で使いたくて、テストコードを見たらばh2なので、どうにかしてMySQLに組み替えたいなっていう衝動に押されました。

github.com

Javaは本当によく知らないので、forNameとは?ってところですが、すっげえざっくりというと DB接続するときのおまじない らしいですけど、おまじないって言葉は嫌いです。

JAVA - JDBC でデータベースに接続するときの Class.forName って何?

Class (Java Platform SE 6)

  1. forName()で引数で指定されたクラスを返す
  2. 1の戻り値(Classオブジェクト)を利用してnewInstance()でインスタンスを生成する
  3. 生成したインスタンスを使ってDBに接続する

という書き方。

import scalikejdbc.ConnectionPool

trait Connection {
  Class.forName("com.mysql.jdbc.Driver").newInstance()
  ConnectionPool.add('default, "jdbc:mysql://192.168.99.100/sys", "root", "")
}

ORM - Skinny Framework

DB Migration - Skinny Framework

Configuration - ScalikeJDBC