Grails > MySQLの利用
更新日
2014-12-07
広告
GrailsでMySQLを利用するとき、基本的には設定は不要です。
ストレージエンジンを指定
GrailsでMySQLのストレージエンジンを選びたければ、DataSource.groovyでdialectを設定します。 例えば、以下のように設定するとInnoDBを使います。dialect = org.hibernate.dialect.MySQL5InnoDBDialect
charsetの指定
Mac OSで、GrailsからMySQLを使うと、Grailsが自動的に作るデータベースのcharsetがlatin1になります。 latin1だと日本語を扱えません。
これを解決するためには、Dialectを自作する必要があります。 src/groovy/ 以下に、自作Dialectを用意します。以下はその例です。
package some.test import org.hibernate.dialect.MySQL5InnoDBDialect class MySQL5InnoDBUTF8Dialect extends MySQL5InnoDBDialect { @Override String getTableTypeString() { return super.getTableTypeString() + " DEFAULT CHARSET=utf8" } }Grailsを起動すれば、自動的にコンパイルされます。 DataSource.groovyで以下のように設定しておきましょう。
dialect = some.test.MySQL5InnoDBUTF8Dialectちなみに、my.cnfでutf8を使うように設定したり、DataSource.groovyで以下のようにurlを設定する方法も試しましたが、これらは効果ありませんでした。
url = "jdbc:mysql://localhost/testdb?useUnicode=yes&characterEncoding=UTF-8"
広告
お問い合わせは sweng.tips@gmail.com まで。