LoginSignup
6
4

More than 5 years have passed since last update.

play-slickを使ってslick-joda-mapperのimportからRDBMS依存の記述をなくす

Posted at

slick-joda-mapperはSlickでjoda-timeを使うときに型の変換をいい感じにしてくれる便利なライブラリなのですが一点だけ難点があります。
それはRDBMSのドライバーごとにimportが必要なところです。

import com.github.tototoshi.slick.H2JodaSupport._       // H2を使う場合
import com.github.tototoshi.slick.PostgresJodaSupport._ // Postgresを使う場合
import com.github.tototoshi.slick.MySQLJodaSupport._    // MySQLを使う場合
...
etc

ソースコード中に使用するドライバーを直がきしないといけなくなるため、特定のRDBMSに依存させたくないプロダクトをつくってるときに困ります。
それがplay-slickの仕組みを使うとこんな感じで書けるようになります。

object MyDriver extends slick.GenericJodaSupport(play.api.db.slick.Config.driver)
import MyDriver._

こんなふうに play.api.db.slick.Config.driver としてドライバーを持ってきてあげると
application.confに書かれたドライバーの設定からいい感じに処理してくれます。

おそらくplay-slick使わずともPlay.Currentから持ってくることもできると思いますがPlayでSlickをplay-slickなしで使うことも少ないでしょう。

最近、Play framework + AngularJS(with TypeScript)でリアルタイムコミュニケーションツールをちょこちょこ作ってて気付いた話でした。
https://github.com/phantomtype/Phantasm

6
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4