こんにちわ、みけです。
最近はgroovy、groovyと言わなくなったのですが、実際はgroovyをちょっとしたことに活用していたりします。
JDBCドライバー使うときは@GrabConfig
使っておけ
まあ、知っている人は知っているでしょうし、大した内容でもないのですが…
データベース操作するときにgroovyを使う場合、こういうスクリプトの書き始めになります。
@Grab(group='mysql:mysql-connector-java:5.1.34') def sql = Sql.newInstance('jdbc:mysql://localhost:3306/mike', 'mike', 'mike', 'com.mysql.jdbc.Driver')
で、実行結果がこれ
$ groovyclient db-operation.groovy Caught: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mike java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mike
mysqlドライバーが読み込まれてないらしい……(´・ω・`)
で、ググること数回、groovy mysql no suitable driver found for jdbc:mysql://localhost:3306
でstackoverflow様にたどり着きました。
曰く、JavaはJDBCドライバーをシステムクラスローダーに探しに行くので、Groovyでやる場合、cpオプションで最初から渡しておくか、Grape使う場合は…
@GrabConfig( systemClassLoader=true ) @Grab(group='mysql:mysql-connector-java:5.1.34') def sql = Sql.newInstance('jdbc:mysql://localhost:3306/mike', 'mike', 'mike', 'com.mysql.jdbc.Driver')
と書けとのこと。
はい(´・ω・`)