package com.littlenb.mybatisjpa.support.template; import com.littlenb.mybatisjpa.util.ColumnMetaResolver; import com.littlenb.mybatisjpa.util.PersistentUtil; import java.lang.reflect.Field; import org.apache.ibatis.jdbc.SQL; /** * @author sway.li **/ public class InsertSqlTemplate implements SqlTemplate { public static final SqlTemplate INSTANCE = new InsertSqlTemplate(); @Override public String parseSQL(final Class<?> type) { return new SQL() { { INSERT_INTO(PersistentUtil.getTableName(type)); for (Field field : PersistentUtil.getPersistentFields(type)) { if (PersistentUtil.insertable(field)) { VALUES(PersistentUtil.getColumnName(field), ColumnMetaResolver.resolveSqlPlaceholder(field)); } } } }.toString(); } }