Grails项目数据源的配置

                            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 数据源配置的文档里都有详细的描述,这里就不再重述了。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值