在groovy中连接到mysql时找不到合适的驱动程序

时间:2013-12-19 12:53:09

标签: mysql jdbc groovy

    import com.mysql.jdbc.jdbc2.optional.MysqlDataSource
    import com.mysql.jdbc.*
    import groovy.sql.*

    /*  the commented code works fine

    MysqlDataSource ds = new MysqlDataSource()
    ds.user = 'root'
    ds.password = ""
    ds.url = 'jdbc:mysql://localhost:3306/test'

    Sql sql=Sql.newInstance(ds)

    sql.close()
    */
    d=Class.forName("com.mysql.jdbc.Driver").newInstance()
    println d.class // class com.mysql.jdbc.Driver


    Sql sql=Sql.newInstance(
    'jdbc:mysql://localhost:3306/test',
    'root',
     "",
    'com.mysql.jdbc.Driver'
    )

评论的代码工作正常,我可以获得驱动程序的实例 但是当我使用

     Sql sql=Sql.newInstance(
     'jdbc:mysql://localhost:3306/test',
     'root',
      "",
     'com.mysql.jdbc.Driver'
     )

它抛出一个异常: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
我无法解决它,有没有男生来帮助我?

1 个答案:

答案 0 :(得分:19)

Java中的JDBC驱动程序管理查看JDBC jar的系统类加载器。

因此,要在GroovyConsole中运行mysql访问脚本,您需要使用:

@GrabConfig( systemClassLoader=true )
@Grab( 'mysql:mysql-connector-java:5.1.27' )
在您的脚本中

,或者您需要通过以下命令运行类路径上的jar启动控制台:

groovyconsole -cp mysql-connector-java-5.1.27-bin.jar

我认为没有办法告诉add jar to path选项使用systemClassLoader: - (