Grails是基于Java技术构建的,因此要在其中安装数据源必然需要一些JDBC(这种技术并不只支持Java数据库连接)的知识。
根本上来说,如果你正在使用的另一种数据库,而不是Grails内嵌的HSQLDB,那么你就需要为它准备一个JDBC驱动。
例如使用MySQL数据库,就需要 Connector/J这个JDBC驱动。
通常这些JDBC驱动都是以JAR文件格式发行的。
将需要的JAR文件放到项目的 lib 目录下即可。
一旦你把JAR文件放到了正确的位置,你还需要熟悉位于 grailsapp/conf/DataSource.groovy 的Grails数据库描述文件。
这个文件包含了数据源的定义,其中有下列这些设置:
• driverClassName - JDBC驱动的类名
• username - 获得JDBC连接需要使用的用户名
• password - 获得JDBC连接需要使用的密码
• url - 数据库的JDBC URL
• dbCreate - 是否从domain模型自动生成数据库
• pooled - 是否使用连接池(默认为true)
• logSql - 是否启动SQL日志记录
• dialect - 用于表示与数据库通讯时应该使用的Hibernate方言的字符串或类。查看org.hibernate.dialect 一文以便获得可用的方言。
一个用于MySQL数据库的典型配置可以像这样:dataSource {
pooled = true
dbCreate = "update"
url = "jdbc:mysql://localhost/yourDB"
driverClassName = "com.mysql.jdbc.Driver"
username = "yourUser"
password = "yourPassword"
}
在配置数据源的时候不要在配置项之前包含类型声明或def关键字,否则Groovy会把它们当作本地变量定义并且不对它们进行处理。
例如下边的例子就是无效的:dataSource {
boolean pooled = true // 类型声明导致它被当作是一个本地变量
…
}