1.首先建立数据库连接,配置基本的url,drive,username和password,将Connection设置成不自动提交,这样才可以使用conn.rollback回滚功能
boolean lockSuccess=lock.tryLock();
//执行sql脚本时最好加锁
if(lockSuccess){
Connection conn = null;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url, userName, password);
// 设置不自动提交
conn.setAutoCommit(false);
2.声明一个ScriptRunner对象,执行sql脚本
ScriptRunner runner = new ScriptRunner(conn);
// 设置不自动提交
runner.setAutoCommit(false);
//遇见错误是否停止(1)false,遇见错误不会停止,会继续执行,会打印异常信息,并不会抛出异常,当前方法无法捕捉异常无法进行回滚操作,无法保证在一个事务内执行;(2)true,遇见错误会停止执行,打印并抛出异常,捕捉异常,并进行回滚,保证在一个事务内执行
runner.setStopOnError(true);
//按照那种方式执行 方式一:true则获取整个脚本并执行; 方式二