使用 Groovy 连接到 MySQL

Connecting to MySQL using Groovy

我正在尝试在 MAC OS 10.10.5 Yosemite[=17 上使用以下 Groovy 代码连接到 MySQL 数据库=]

import groovy.sql.Sql

try{
    def dbURL = 'jdbc:mysql://localhost:3306/sakila'
    def dbUserName = 'root'
    def dbPassword = 'Orange@27'
    def dbDriver = 'com.mysql.jdbc.Driver'
    log.info('Good')
    def db = Sql.newInstance(dbURL,dbUserName,dbPassword,dbDriver)
}catch(Exception e){
    log.info('DB Error')
    log.info(e.getMessage())
}finally{

}

但是当我执行这段代码时,我看到了下面的消息

Sat Aug 13 15:09:14 EDT 2016:INFO:Good
Sat Aug 13 15:09:14 EDT 2016:INFO:DB Error
Sat Aug 13 15:09:14 EDT 2016:INFO:No suitable driver found for jdbc:mysql://localhost:3306/sakila

我已将 groovy-sql-2.1.1.jarmysql-connector-java-5.1.39-bin.jar 保存在文件夹位置 /Applications/SoapUI-5.2.1/bin/ext/

你能帮我解决这个问题吗?

为了使用 JDBC 驱动程序,您需要 注册 它。有多种方法可以做到这一点:

使用 DriverManager

您可以使用 DriverManager:

注册 JDBD 驱动程序
import java.sql.DriverManager

DriverManager.registerDriver(new com.mysql.jdbc.Driver())

// Remaining Groovy code here

Class.forName

有点骇人听闻,但您也可以动态加载驱动程序的 class:

Class.forName('com.mysql.jdbc.Driver')

// Remaining Groovy code here

Groovy葡萄

因为您正在使用 Soap UI 来 运行 Groovy 代码,此选项可能不适合您,但这里是为了完整性:

@Grab('mysql:mysql-connector-java:5.1.39')
@GrabConfig(systemClassLoader=true)

// Remaining Groovy code here
  • 用户库应该复制到SOAPUI_HOME/bin/ext目录下,在这种情况下,复制上面目录中的mysql jdbc库。
  • SoapUI 以不同方式注册 jdbc 驱动程序。使用以下语句根据其 documentation:
  • 进行注册
//Register driver
com.eviware.soapui.support.GroovyUtils.registerJdbcDriver( "com.mysql.jdbc.Driver")
//Get the sql instance using the connection details.
Sql.newInstance(dbURL,dbUserName,dbPassword)