I want to connect to MySQL through build.gradle I do not want to pick driver from some specified folder like below commented line //loader.addURL(file(JDBC_ARCHIVE_PATH).toURL()). I want it to pick driver from dependencies specified in build.gradle like this
dependencies { compile 'mysql:mysql-connector-java:5.1.37' } How can I do that?
task loadDriver {
URLClassLoader loader = GroovyObject.class.classLoader
//loader.addURL(file(JDBC_ARCHIVE_PATH).toURL())
java.sql.DriverManager.registerDriver(loader.loadClass(analyticsDriverClassName).newInstance())
}
// Connect to the database
// The task expects the following properties:
// * analyticsDbUrl
// * analyticsDbUsername
// * analyticsDbPassword
task callDatabase() {
println "Connecting to database '$analyticsDbUrl' with user '$analyticsDbUsername' ..."
def sql = groovy.sql.Sql.newInstance(analyticsDbUrl, analyticsDbUsername, analyticsDbPassword)
println '... connected'
}
buildscript{
repositories{
jcenter()
}
dependencies{
classpath 'mysql:mysql-connector-java:5.1.37'
}
}
task something()<<{
def mysql = buildscript.configurations.classpath.find { it.toString().contains("mysql-connector-java") }
URLClassLoader loader = GroovyObject.class.classLoader
loader.addURL(file(mysql).toURL())
def db = [url: "jdbc:mysql://127.0.0.1/mydb?",
user: "root", password: "password", driver: 'com.mysql.jdbc.Driver']
def sql = groovy.sql.Sql.newInstance(db.url, db.user, db.password, db.driver)
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With