如何将MariaDB与Grails连接起来?

时间:2019-03-18 13:52:53

标签: grails mariadb

我需要将第二个数据库链接到我的系统(我有一个数据库),但找不到方法,我正在使用以下内容:

dataSource_maria {
 dialect = org.hibernate.dialect.MariaDBDialect
 driverClassName = 'org.mariadb.jdbc.Driver'
 username = 'root'
 password = 'greenArrow2019'
 url = 'jdbc:mariadb://192.168.0.20/db'
 dbCreate = 'validate'
}

控制台错误:

| Error 2019-03-18 11:06:40,695 [localhost-startStop-1] ERROR pool.ConnectionPool  - Unable to create initial connections of pool.
Message: org.mariadb.jdbc.Driver
    Line | Method
->>  266 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1149 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    624 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    748 | run       in java.lang.Thread
Caused by ClassNotFoundException: org.mariadb.jdbc.Driver

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要确保在项目中包括Maria的JDBC驱动程序。例如,在Grails 3 build.gradle文件中,您可以添加对的依赖

compile 'org.mariadb.jdbc:mariadb-java-client:2.4.1'

如果您包括JDBC驱动程序,并且仍然遇到未找到类的异常,请使用您的构建信息和grails版本更新此问题,以便人们可以进一步为您提供帮助。

答案 1 :(得分:0)

我也遇到了与mariadb数据库连接的问题,我正在使用grails v3.3.11,mariadb v10.4.13和Java 1.8。

首先,该方言不存在于休眠状态。有关可用的方言,请参见org.hibernate.dialect软件包。常用的一种是org.hibernate.dialect.MySQL5InnoDBDialect,对我来说效果很好。

第二,您需要添加mysql连接依赖项runtime 'mysql:mysql-connector-java:5.1.48'

在application.yml中,您可以进行如下配置以成功建立与mariadb数据库的连接

pooled: true
jmxExport: true
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/mozstart
username: root
password: ''