mysql - Grails配置Mysql数据库报错

标签 mysql grails groovy

我已经通过在我的系统中安装 MySql 并在 X/lib 目录中(其中 X 是我的应用程序名称)配置了 MySql 数据库。我更改了 DataSource.groovy 以使更改发生冲突。但是,当我使用命令 grails run-app 运行我的应用程序时,出现错误

 ERROR spring.BeanBuilder  - WARNING: Your cache provider is set to 'com.opensymphony.oscache.hibernate.OSCacheProvider' in DataSource.groovy, however the class for this provider cannot be found.

Grails 开始使用其内置的数据库..

如何摆脱这个错误?

DataSource.groovy 代码是:

dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
username = "grails"
password = "server"
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class =
'com.opensymphony.oscache.hibernate.OSCacheProvider'
}
// environment specific settings
environments {
development {
dataSource {
// one of 'create', 'create-drop','update'
dbCreate = "create-drop"
url = "jdbc:mysql://localhost:3306/racetrack_dev?autoreconnect=true"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://localhost:3306/racetrack_dev?autoreconnect=true"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:mysql://localhost:3306/racetrack_dev?autoreconnect=true"
}
}
}

提前致谢。

最佳答案

您使用哪个版本的 grails 创建该 DataSource.groovy 文件?

Grails 1.3.7 的休眠 block 为:

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}

我认为哪个可以解释您的错误消息? (因为您已将其设置为使用旧的 OSCacheProvider


编辑

这些是我刚刚尝试的步骤,一切都按预期工作:

  1. 新建一个数据库(我把我的数据库命名为ants)

  2. 创建 grails 应用

    grails create-app ants
    cd ants
    
  3. 编辑 grails-app/conf/BuildConfig.groovy 文件,并取消注释行:

    mavenCentral()
    

    runtime 'mysql:mysql-connector-java:5.1.13'
    
  4. 编辑文件 grails-app/conf/DataSource.groovy

    将数据源 block 更改为:

    dataSource {
        pooled = true
        driverClassName = "com.mysql.jdbc.Driver"
        username = ""
        password = ""
    }
    

    和 url(在每个环境中)

        url = "jdbc:mysql://localhost:3306/ants?autoreconnect=true"
    
  5. 创建域类:

    grails create-domain-class ants.Runners
    
  6. 运行应用

    grails run-app
    

然后,当您检查数据库时,您将有一个runners

我猜您正在检查错误的数据库(您设置了开发、测试和主数据库,每个环境一个)

关于mysql - Grails配置Mysql数据库报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703903/

相关文章:

MySQL 多连接/组查询

grails - grails-如何使用Grails日历插件使过滤器从datePicker识别值?

grails - 在Grails中安装war文件时运行脚本

groovy - 在 Groovy 中清除 Expando 类

java - 如何知道一个日期范围是否与 Java 中的另一个日期范围相交 - Groovy

java - 将 Java 代码转换为 Groovy

php - 从数据库中获取数据时html网格显示错误

mysql - 如何在向表中插入数据时统计MySQL中的重复记录

windows - MYSQL NOW() 落后 30 秒

json - grails rest客户将字符串转换为java.util.Date