package nebula.data.db.serializer; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Types; import java.util.EnumMap; import nebula.lang.RawTypes; public abstract class DefaultFieldSerializer<T> implements FieldSerializer<T, ResultSet, PreparedStatement> { // public final int jdbcType; static EnumMap<RawTypes, Integer> dbTypeMap = new EnumMap<RawTypes, Integer>(RawTypes.class); static { dbTypeMap.put(RawTypes.Boolean, Types.BOOLEAN); dbTypeMap.put(RawTypes.Long, Types.BIGINT); dbTypeMap.put(RawTypes.Decimal, Types.DECIMAL); dbTypeMap.put(RawTypes.String, Types.VARCHAR); dbTypeMap.put(RawTypes.Text, Types.VARCHAR); dbTypeMap.put(RawTypes.Date, Types.DATE); dbTypeMap.put(RawTypes.Time, Types.TIME); dbTypeMap.put(RawTypes.Datetime, Types.TIMESTAMP); dbTypeMap.put(RawTypes.Timestamp, Types.TIMESTAMP); } public DefaultFieldSerializer(String fieldName, String columnName) { this.fieldName = fieldName; this.columnName = columnName; } // String fieldName, String columnName, boolean key, boolean nullable, // RawTypes rawType,long size, // int precision, int scale protected final String fieldName; protected final String columnName; }