用法
Class.forName(driver).newInstance();//加载驱动
Connection connection = DriverManager.getConnection(mySQLurl);//建立连接
ScriptRunner runner = new ScriptRunner(connection);//创建ScriptRunner
runner.setAutoCommit(true);//自动提交
runner.runScript(new InputStreamReader(new FileInputStream(filePathString), "UTF-8"));//执行路径为filePathString的.sql文件
配置
//设置为false能够识别plsql的代码块,否则无法执行pl/sql的脚本,只能执行正常的sql语句
runner.setEscapeProcessing(false);
//设置为false则按行读取,设置为true则读取脚本所有语句,若需要执行begin end代码块,则需要设置为true
runner.setSendFullScript(true);
//若.sql文件里没有commit语句,则此处设置为true,使runner执行之后自动提交
runner.setAutoCommit(true);
//设置一般日志输出位置,参数为PrintWriter类型
runner.setLogWriter(null);//设置普通日志
runner.setErrorLogWriter(null);//设置异常日志
//出现error是否中断,设置为true则中断,此处的error是指执行.sql文件中的内容出现错误,如键值重复等,若是文件不存在导致报错,在此处设置是没有用的,需要先判断文件是否存在,然后执行runScript函数。
runner.setStopOnError(false);
//分隔符,还未验证具体功能
runner.setFullLineDelimiter(false);
runner.setDelimiter(";");//每条命令间的分隔符
Resources.setCharset(Charset.forName("GBK")); //设置字符集,不然中文乱码插入错误