transaction support

This commit is contained in:
zgq
2024-02-26 10:22:23 +08:00
parent 80634b5107
commit 8ba00fe0ff
3 changed files with 15 additions and 7 deletions

View File

@ -11,11 +11,18 @@ import java.sql.SQLException;
public class MysqlDBManage extends DefaultDBManage implements DBManage {
@Override
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) {
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) throws SQLException {
try {
connection.setAutoCommit(false);
String sql = "DROP PROCEDURE " + procedure.getProcedureName();
SQLExecutor.getInstance().execute(connection, sql, resultSet -> {});
String procedureBody = procedure.getProcedureBody();
SQLExecutor.getInstance().execute(connection, procedureBody, resultSet -> {});
connection.commit();
} catch (Exception e) {
connection.rollback();
throw new RuntimeException(e);
}
}

View File

@ -7,6 +7,7 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.sql.Connection;
import java.sql.SQLException;
/**
* @author jipengfei
@ -119,5 +120,5 @@ public interface DBManage {
* @param schemaName
* @param procedure
*/
void updateProcedure(Connection connection, @NotEmpty String databaseName, String schemaName, @NotNull Procedure procedure);
void updateProcedure(Connection connection, @NotEmpty String databaseName, String schemaName, @NotNull Procedure procedure) throws SQLException;
}

View File

@ -135,7 +135,7 @@ public class DefaultDBManage implements DBManage {
}
@Override
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) {
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) throws SQLException {
}