@Override
    public boolean execute(String sql) throws SQLException {
        this.targetSQL = sql;
        return ExecuteTemplate.execute(this, (statement, args) -> statement.execute((String) args[0]), sql);
    }
@Test
    public void testExecute() throws SQLException {
        String sql = "select * from table_statment_proxy";
        Assertions.assertNotNull(statementProxy.executeQuery(sql));
        Assertions.assertDoesNotThrow(() -> statementProxy.executeUpdate(sql));
        Assertions.assertDoesNotThrow(() -> statementProxy.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS));
        Assertions.assertDoesNotThrow(() -> statementProxy.executeUpdate(sql, new int[]{1}));
        Assertions.assertDoesNotThrow(() -> statementProxy.executeUpdate(sql, new String[]{"id"}));
        Assertions.assertDoesNotThrow(() -> statementProxy.execute(sql));
        Assertions.assertDoesNotThrow(() -> statementProxy.execute(sql, Statement.RETURN_GENERATED_KEYS));
        Assertions.assertDoesNotThrow(() -> statementProxy.execute(sql, new int[]{1}));
        Assertions.assertDoesNotThrow(() -> statementProxy.execute(sql, new String[]{"id"}));
        Assertions.assertDoesNotThrow(() -> statementProxy.executeBatch());
        Assertions.assertDoesNotThrow(() -> statementProxy.clearBatch());
    }