0

我是 grails 和 intellij ide 的新手。我在 intellij 中运行了一个 grails 项目,没关系。但是现在我需要使用mysql数据库而不是默认的。我不知道该怎么做。据我所知,我已经改变了我的数据源类,如下所示>>>

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
    properties {
        initialSize = 5
        maxActive = 10
        minIdle = 5
        maxIdle = 5
        maxWait = 100000
        validationQuery = "select 1"
        minEvictableIdleTimeMillis = 60000
        timeBetweenEvictionRunsMillis = 60000
    }
}
hibernate {
    cache.use_second_level_cache = false
    cache.use_query_cache = false
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop','update'
            loggingSql = true
            url = "jdbc:mysql://localhost/sbicloud_jan_13"
            username = "root"
            password = "admin"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:mysql://192.168.18.12/sbicloud"
            username = "zia"
            password = "zia123321"
        }
    }
    production {
        dataSource {
        }
    }
}

当我运行应用程序时,控制台中会出现一些错误,第一个错误如下 >>>

    Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

谁能帮我解决这个问题?!这对我很有帮助。

4

1 回答 1

5

或多或少有两种方法:

  1. 修改您的 BuildConfig.groovy,以便您的应用程序将使用 MySQL。在 BuildConfig 中有一个名为“dependencies”的块

    dependencies {
         // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
    
         // runtime 'mysql:mysql-connector-java:5.1.20'
     }
    

    取消注释该行:

    // runtime 'mysql:mysql-connector-java:5.1.20'
    

    它将下载依赖项。

  2. 将 MySQL JDBC 驱动程序放在 grails-app/lib 目录中......我前段时间发布了一篇博文,其中包含相关说明。看这里

于 2013-03-23T15:16:08.927 回答