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
我修不了,有没有男孩来帮我?
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
我认为没有办法告诉将jars添加到路径选项以使用systemClassLoader:-(