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数据源配置的文档里都有详细的描述,这里就不再重述了。
网上有很多关于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数据源配置的文档里都有详细的描述,这里就不再重述了。
相关文章推荐
- WEB项目中,让FineReport6.5使用Tomcat下所配置的JNDI数据源
- Spring Boot + Spring Data JPA项目配置多数据源
- 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库
- 一分钟学会在JavaWeb项目中配置数据源
- 通过环境变量设置WEB项目数据源(Spring)及其项目配置文件路径,动态更新数据源及项目配置
- Spring整合Quartz实现定时任务的时间更新,暂停和启用(不需要重启项目并且配置多数据源)
- DRUID配置多数据源项目
- web项目取得spring配置的数据源的简单实现方法
- 项目中数据源的配置参考
- springMVC项目-hibernate框架多数据源(切换数据库)配置
- 通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql
- ssm框架实现多数据源的配置,本人亲测,项目正在使用。
- 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库
- 在ssh项目中的中配置数据源c3p0
- Tomcat 项目部署以及数据源的配置
- myeclipse管理部署tomcat项目时如何在tomcat中加入数据源配置
- Grails项目与CAS、GWT集成配置指南(上)
- 在ssh项目中的applicationContext.xml中配置数据源(c3p0)(连接池)
- 在ssh项目中的中配置数据源c3p0
- JNDI学习总结-项目实例—JNDI数据源的配置