我一直在尝试从Grails项目连接到MySQL数据库,但我还没有管理它。
我正在使用以下版本的IntelliJ IDEA 17:
| Grails Version: 3.3.0.RC1
| Groovy Version: 2.4.12
| JVM Version: 1.8.0_131
的build.gradle
dependencies{
compile files ("lib/mysql-connector-java-5.1.43-bin")
}
application.yml
hibernate:
cache:
queries: false
use_second_level_cache: false
use_query_cache: false
dataSource:
pooled: true
jmxExport: true
driverClassName: com.mysql.jdbc.Driver
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
username: root
password: ''
environments:
development:
dataSource:
dbCreate: create-drop
url: jdbc:mysql:3306//localhost/mydatabase
test:
dataSource:
dbCreate: update
url: jdbc:mysql:3306//localhost/mydatabase
production:
dataSource:
dbCreate: none
url: jdbc:mysql:3306//localhost/mydatabase
错误
"C:\Program Files\Java\jdk1.8.0_131\bin\java" -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:CICompilerCount=3 -Djline.WindowsTerminal.directConsole=false -Dfile.encoding=UTF-8 -classpath C:\Users\Vaggelis\AppData\Local\Temp\classpath.jar org.grails.cli.GrailsCli run-app
|Resolving Dependencies. Please wait...
CONFIGURE SUCCESSFUL
Total time: 3.824 secs
|Running application...
2017-08-07 19:42:52.921 ERROR --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
java.sql.SQLException: Unable to load class: com.mysql.jdbc.Driver from ClassLoader:sun.misc.Launcher$AppClassLoader@18b4aac2;ClassLoader:sun.misc.Launcher$AppClassLoader@18b4aac2
2017-08-07 19:42:55.391 ERROR --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Unable to load class: com.mysql.jdbc.Driver from ClassLoader:sun.misc.Launcher$AppClassLoader@18b4aac2;ClassLoader:sun.misc.Launcher$AppClassLoader@18b4aac2
2017-08-07 19:42:55.405 ERROR --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Destroy method on bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' threw an exception
2017-08-07 19:42:55.431 ERROR --- [ main] o.s.boot.SpringApplication : Application startup failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'methodValidationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Unsatisfied dependency expressed through method 'methodValidationPostProcessor' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastoreServiceRegistry': Cannot resolve reference to bean 'hibernateDatastore' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is org.hibernate.exception.GenericJDBCException: Unable to check JDBC Connection auto-commit in preparation for DDL execution
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastoreServiceRegistry': Cannot resolve reference to bean 'hibernateDatastore' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is org.hibernate.exception.GenericJDBCException: Unable to check JDBC Connection auto-commit in preparation for DDL execution
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is org.hibernate.exception.GenericJDBCException: Unable to check JDBC Connection auto-commit in preparation for DDL execution
Caused by: org.hibernate.exception.GenericJDBCException: Unable to check JDBC Connection auto-commit in preparation for DDL execution
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':bootRun'.
Process 'command 'C:\Program Files\Java\jdk1.8.0_131\bin\java.exe'' finished with non-zero exit value 1
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Error |
Failed to start server (Use --stacktrace to see the full trace)
Process finished with exit code 1
MySQLConnector正在被正确导入,所以我必须在数据源中输入错误的数据。
答案 0 :(得分:1)
我使用此配置并且工作正常:
<强>的build.gradle 强>
dependencies {
runtime 'mysql:mysql-connector-java:5.1.29'
}
<强> application.yml 强>
hibernate:
cache:
queries: false
use_second_level_cache: true
use_query_cache: false
region.factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
dataSource:
pooled: true
jmxExport: true
environments:
development:
dataSource:
dbCreate: create-drop
url: "jdbc:mysql://localhost:3306/mydb?autoReconnect=true"
driverClassName: "com.mysql.jdbc.Driver"
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
username: "yyyyy"
password: "xxxxx"
答案 1 :(得分:1)
在grails 3中,dialect是在hibernate部分下指定的,而不是在datasource下。
hibernate:
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
答案 2 :(得分:1)
我通过删除来自我的两个 [,1] [,2] [,3]
[1,] 1.5 4.5 7.5
[2,] 2.5 5.5 8.5
[3,] 3.5 6.5 9.5
域类的tablePerConcreteClass
映射,修复了我的Grails 3.2.9项目中的类似问题:
abstract