@@ -0,0 +1,1152 @@
+package com.github.aureliano.evtbridge.output.jdbc;%0A%0Aimport java.sql.Connection;%0Aimport java.sql.PreparedStatement;%0Aimport java.sql.SQLException;%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0Aimport java.util.Map;%0A%0Apublic final class JdbcHelper %7B%0A%0A%09private JdbcHelper() %7B%0A%09%09super();%0A%09%7D%0A%09%0A%09public static PreparedStatement createStatement(Connection connection, String table, Map%3CString, Object%3E data) %7B%0A%09%09StringBuilder sql = new StringBuilder(%22insert into %22)%0A%09%09.append(table)%0A%09%09.append(%22(%22);%0A%09%0A%09%09List%3CString%3E keys = new ArrayList%3CString%3E(data.size());%0A%09%09int count = 0;%0A%09%09%0A%09%09for (String key : data.keySet()) %7B%0A%09%09%09keys.add(key);%0A%09%09%09%0A%09%09%09if (count %3E 0) %7B%0A%09%09%09%09sql.append(%22,%22);%0A%09%09%09%7D%0A%09%09%09%0A%09%09%09count++;%0A%09%09%09sql.append(key);%0A%09%09%7D%0A%09%09%0A%09%09sql.append(%22) values(%22);%0A%09%09%0A%09%09for (short i = 0; i %3C count; i++) %7B%0A%09%09%09if (i %3E 0) %7B%0A%09%09%09%09sql.append(%22,%22);%0A%09%09%09%7D%0A%09%09%09sql.append(%22?%22);%0A%09%09%7D%0A%09%09%0A%09%09sql.append(%22)%22);%0A%09%09%0A%09%09try %7B%0A%09%09%09PreparedStatement stmt = connection.prepareStatement(sql.toString());%0A%09%09%09count = 1;%0A%09%09%09for (String key : keys) %7B%0A%09%09%09%09stmt.setObject(count++, data.get(key));%0A%09%09%09%7D%0A%09%09%09%0A%09%09%09return stmt;%0A%09%09%7D catch (SQLException ex) %7B%0A%09%09%09throw new JdbcOutputException(ex);%0A%09%09%7D%0A%09%7D%0A%7D

Create jdbc helper.