我需要从Groovy脚本连接我的MySQL数据库。 由于此脚本的目的是用于db更新,并且稍作修改;我需要能够使用jar文件提供必要的连接参数。我想动态输入连接参数,如dbUrl,dbUsername和dbPassword,以便我可以按照数据库输入这些参数。下面的代码成功连接到数据库,但它是手动的。如果我必须使用除'test'之外的其他数据库,我必须为每个数据库创建jar文件。
我对groovy相对较新,任何帮助/建议都会受到赞赏。
我该如何处理?
import groovy.sql.Sql
import java.sql.*
import java.io.File
Sql sql
def cities = []
try{
def url= 'jdbc:mysql://localhost:3306/test'
def username = 'username'
def password = 'password'
def driver = 'org.mariadb.jdbc.Driver'
sql = Sql.newInstance( url, username, password, driver)
sql.eachRow("select * from City where city are not null"){cities += it.city}
}catch(ClassNotFoundException | SQLException e){
e.printStackTrace
}
答案 0 :(得分:0)
执行以下脚本:
groovy dbscript jdbc:mysql://localhost:3306/test username password
dbscript.groovy
import groovy.sql.Sql
import java.sql.*
import java.io.File
if ( args.size() != 3 ) {
println 'Please supply DB URL, username and password'
System.exit(0)
}
Sql sql
def cities = []
try{
def url= args[0]
def username = args[1]
def password = args[2]
def driver = 'org.mariadb.jdbc.Driver'
sql = Sql.newInstance( url, username, password, driver)
sql.eachRow("select * from City where city are not null"){cities += it.city}
}catch(ClassNotFoundException | SQLException e){
e.printStackTrace
}