public void compileInsert() {
        createSelectorLists();

        String insert = "INSERT INTO ";
        if(!compFromList.isEmpty()) {
            Selector selector = compFromList.get(0);

            insert += selector.tableField() + " ";
        }

        String fields = "(";
        for(Selector selector : compSelectList) {
            if(selector.selectField().equals("id"))
                continue;
            fields += selector.selectField() + ",";
        }
        fields = fields.substring(0, fields.length() - 1);
        fields += ")";

        String values = " VALUES ";
        for(T object : resultList) {
            values += "(";
            for (Selector selector : compSelectList) {
                if(selector.selectField().equals("id"))
                    continue;

                try {
                    Method method = klass.getMethod("get"+selector.getFieldName());
                    method.setAccessible(true);
                    values += selector.getDataConverter().write(method.invoke(object)) + ",";
                    System.out.println(method.invoke(object));
                } catch (NoSuchMethodException e) {
                    e.printStackTrace();
                } catch (InvocationTargetException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
            values = values.substring(0, values.length() - 1);
            values += "),";
        }
        values = values.substring(0, values.length() -1);

        compiledInsertQuery += insert;
        compiledInsertQuery += fields;
        compiledInsertQuery += values;

        isUpdateCompiled = true;
    }