public SqlExecuteResult doExecute(SqlInfo sqlInfo) { SqlExecuteResult result = new SqlExecuteResult(); Object executeResult = null; try { switch (sqlInfo.getType().toUpperCase()) { case "SELECT": QueryResultWrapper wrapper = new QueryResultWrapper(); executor.list(sqlInfo.getSql(), wrapper); executeResult = wrapper.getResult(); break; case "INSERT": case "UPDATE": executeResult = executor.update(sqlInfo.getSql()); break; case "DELETE": executeResult = executor.delete(sqlInfo.getSql()); break; default: executor.exec(sqlInfo.getSql()); } result.setSuccess(true); } catch (SQLException e) { throw new SqlExecuteException(e.getMessage(), e, sqlInfo.getSql()); } result.setResult(executeResult); result.setSqlInfo(sqlInfo); return result; } }
default int update(String sql) throws SQLException { return update(new SimpleSQL(sql)); }
default int update(String sql) throws SQLException { return update(new SimpleSQL(sql)); }
default int update(String sql, Object params) throws SQLException { return update(new SimpleSQL(sql, params)); }
default int update(String sql, Object params) throws SQLException { return update(new SimpleSQL(sql, params)); }
@Override public int exec() throws SQLException { boolean supportBefore = !triggerSkip && table.getMeta().triggerIsSupport(Trigger.update_before); boolean supportDone = !triggerSkip && table.getMeta().triggerIsSupport(Trigger.update_done); Map<String, Object> context = null; if (supportBefore || supportDone) { context = table.getDatabase().getTriggerContextRoot(); context.put("table", table); context.put("database", table.getDatabase()); context.put("param", updateParam); } if (supportBefore) { table.getMeta().on(Trigger.update_before, context); } SqlRender<UpdateParam> render = table.getMeta().getDatabaseMetaData().getRenderer(SqlRender.TYPE.UPDATE); SQL sql = render.render(table.getMeta(), updateParam); tryValidate(updateParam.getData(), Validator.Operation.UPDATE); int total = sqlExecutor.update(sql); if (supportDone) { context.put("total", total); table.getMeta().on(Trigger.update_done, context); } return total; }
@Override public int exec() throws SQLException { boolean supportBefore = !triggerSkip && table.getMeta().triggerIsSupport(Trigger.update_before); boolean supportDone = !triggerSkip && table.getMeta().triggerIsSupport(Trigger.update_done); Map<String, Object> context = null; if (supportBefore || supportDone) { context = table.getDatabase().getTriggerContextRoot(); context.put("table", table); context.put("database", table.getDatabase()); context.put("param", updateParam); } if (supportBefore) { table.getMeta().on(Trigger.update_before, context); } SqlRender<UpdateParam> render = table.getMeta().getDatabaseMetaData().getRenderer(SqlRender.TYPE.UPDATE); SQL sql = render.render(table.getMeta(), updateParam); tryValidate(updateParam.getData(), Validator.Operation.UPDATE); int total = sqlExecutor.update(sql); if (supportDone) { context.put("total", total); table.getMeta().on(Trigger.update_done, context); } return total; }
public SqlExecuteResult doExecute(SqlInfo sqlInfo) { SqlExecuteResult result = new SqlExecuteResult(); Object executeResult = null; try { switch (sqlInfo.getType().toUpperCase()) { case "SELECT": QueryResultWrapper wrapper = new QueryResultWrapper(); executor.list(sqlInfo.getSql(), wrapper); executeResult = wrapper.getResult(); break; case "INSERT": case "UPDATE": executeResult = executor.update(sqlInfo.getSql()); break; case "DELETE": executeResult = executor.delete(sqlInfo.getSql()); break; default: executor.exec(sqlInfo.getSql()); } result.setSuccess(true); } catch (SQLException e) { throw new SqlExecuteException(e.getMessage(), e, sqlInfo.getSql()); } result.setResult(executeResult); result.setSqlInfo(sqlInfo); return result; } }