您的位置:首页 > 大数据 > 人工智能

Grails项目数据源的配置

2008-04-17 18:55 477 查看
Grails项目数据源的配置

网上有很多关于Grails项目数据源的配置的文档,但好多文档将的都是Grails1.X之前的配置,而对于Grails1.X项目数据源的配置绝大多数语焉不详;Grails官方文档也对这个内容一笔带过。
打开网上任何一个有关Grails1数据源配置的文档,都会告诉我们,有关数据源的配置在Grails项目的grails-app/config目录下的DataSource.groovy文件里。
默认的配置为:
dataSource {
pooled = false
driverClassName = "org.hsqldb.jdbcDriver"
username = "sa"
password = ""
}
hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='org.hibernate.cache.EhCacheProvider'
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:hsqldb:mem:testDb"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:hsqldb:file:prodDb;shutdown=true"
}
}
}

这个配置能连接Grails项目自带的数据源,这些就不再多说。
我首先在网上查到的对数据源配置的修改如下:
dataSource {
pooled = false

driverClassName = "oracle.jdbc.driver.OracleDriver"
username = "test"
password = "test"

}
hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='org.hibernate.cache.EhCacheProvider'
dialect = org.hibernate.dialect.Oracle9Dialect
}
// environment specific settings
environments {
development {
dataSource {

url = "jdbc:oracle:thin:@172.16.8.54:1430:test"
}
}
test {
dataSource {

url = "jdbc:oracle:thin:@172.16.8.54:1430:test"
}
}
production {
dataSource {

url = "jdbc:oracle:thin:@172.16.8.54:1430:test"
}
}
}

修改完成之后,我启动服务器,却发现服务器启动出错。说是“dialect”配置出错,我以前没有使用过Hibernate,这导致我在这个错误配置上郁闷了好久,查了好多资料,却鲜有能解决的。
后来才知道,dialect = org.hibernate.dialect.Oracle9Dialect这句不应该声明在hibernate属性里,而是应该声明在dataSource属性里。正确的配置如下:
dataSource {
pooled = false

driverClassName = "oracle.jdbc.driver.OracleDriver"
username = "test"
password = "test"


dialect = org.hibernate.dialect.Oracle9Dialect
}
hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='org.hibernate.cache.EhCacheProvider'

}
// environment specific settings
environments {
development {
dataSource {

url = "jdbc:oracle:thin:@172.16.8.54:1430:test"
}
}
test {
dataSource {

url = "jdbc:oracle:thin:@172.16.8.54:1430:test"
}
}
production {
dataSource {

url = "jdbc:oracle:thin:@172.16.8.54:1430:test"
}
}
}

需要注意的是那一行绿体字,有关“dialect”配置条的位置。
现在在此做一个记录,希望能对和我一样出错的或者还没有配置数据源的大虾们一个正确的样本。
至于其中的一些参数,如“pooled”、“development”、“test”和“production”等,在有关Grails数据源配置的文档里都有详细的描述,这里就不再重述了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: