@Alias("jsonArrayHandler") @MappedTypes({List.class}) @MappedJdbcTypes({JdbcType.VARCHAR, JdbcType.CLOB}) @Slf4j
@Alias("jsonMapHandler") @MappedTypes({Map.class}) @MappedJdbcTypes({JdbcType.VARCHAR, JdbcType.CLOB}) @Slf4j
@Alias("jsonSetHandler") @MappedTypes({Set.class}) @MappedJdbcTypes({JdbcType.VARCHAR, JdbcType.CLOB}) @Slf4j
/** * Map PostgreSQL array of boolean to java Boolean[] array. */ @MappedTypes(Boolean[].class) public class ArrayBooleanTypeHandler extends ArrayTypeHandler<Boolean[]> { private static final Boolean[] EMPTY = new Boolean[0]; @Override protected Boolean[] empty() { return EMPTY; } @Override protected String getDbTypeName(Connection connection) throws SQLException { // Now support only PostgreSQL types return "boolean"; } }
/** * Map PostgreSQL array of longs(int8) to java Long[] array. */ @MappedTypes(Long[].class) public class ArrayLongTypeHandler extends ArrayTypeHandler<Long[]> { private static final Long[] EMPTY = new Long[0]; @Override protected Long[] empty() { return EMPTY; } @Override protected String getDbTypeName(Connection connection) { // Now support only PostgreSQL types return "bigint"; } }
/** * Map PostgreSQL array of integers(int4) to java Integer[] array. */ @MappedTypes(Integer[].class) public class ArrayIntegerTypeHandler extends ArrayTypeHandler<Integer[]> { private static final Integer[] EMPTY = new Integer[0]; @Override protected Integer[] empty() { return EMPTY; } @Override protected String getDbTypeName(Connection connection) { // Now support only PostgreSQL types return "int4"; } }
/** * Map PostgreSQL array of doubles to java Double[] array. */ @MappedTypes(Double[].class) public class ArrayDoubleTypeHandler extends ArrayTypeHandler<Double[]> { private static final Double[] EMPTY = new Double[0]; @Override protected Double[] empty() { return EMPTY; } @Override protected String getDbTypeName(Connection connection) { // Now support only PostgreSQL types return "float8"; } }
/** * Multi dimensional array handler. * * PostgreSQL require that such arrays must be as matrix - all rows must have same amount of elements. */ @MappedTypes(String[][].class) public class ArrayString2dTypeHandler extends ArrayTypeHandler<String[][]> { private static final String[][] EMPTY = new String[0][0]; @Override protected String getDbTypeName(Connection connection) throws SQLException { String db = connection.getMetaData().getDatabaseProductName(); return ArrayStringTypeHandler.getTypeForDb(db); } @Override protected String[][] empty() { return EMPTY; } }
@MappedTypes(Long[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class LongArrayTypeHandler extends StringTokenizerTypeHandler<Long> { public LongArrayTypeHandler() { super(Long.class); } @Override Long parseString(String value) { return Long.valueOf(value); } }
@MappedTypes(Integer[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class IntegerArrayTypeHandler extends StringTokenizerTypeHandler<Integer> { public IntegerArrayTypeHandler() { super(Integer.class); } @Override Integer parseString(String value) { return Integer.valueOf(value); } }
@MappedTypes(Boolean[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class BooleanArrayTypeHandler extends StringTokenizerTypeHandler<Boolean> { public BooleanArrayTypeHandler() { super(Boolean.class); } @Override Boolean parseString(String value) { return Boolean.valueOf(value); } }
@MappedTypes(Float[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class FloatArrayTypeHandler extends StringTokenizerTypeHandler<Float> { public FloatArrayTypeHandler() { super(Float.class); } @Override Float parseString(String value) { return Float.valueOf(value); } }
@MappedTypes(Double[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class DoubleArrayTypeHandler extends StringTokenizerTypeHandler<Double> { public DoubleArrayTypeHandler() { super(Double.class); } @Override Double parseString(String value) { return Double.valueOf(value); } }
@MappedTypes(Character[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class CharacterArrayTypeHandler extends StringTokenizerTypeHandler<Character> { public CharacterArrayTypeHandler() { super(Character.class); } @Override Character parseString(String value) { return value.charAt(0); } }
@MappedTypes(BigDecimal[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class BigDecimalArrayTypeHandler extends StringTokenizerTypeHandler<BigDecimal> { public BigDecimalArrayTypeHandler() { super(BigDecimal.class); } @Override BigDecimal parseString(String value) { return new BigDecimal(value); } }
@MappedJdbcTypes(value = { JdbcType.INTEGER }) @MappedTypes(value = { RegionType.class }) public class RegionTypeTypeHandler extends IntegerEnumTypeHandler<RegionType> { public RegionTypeTypeHandler(){ super(RegionType.class); } }
@MappedTypes(Short[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class ShortArrayTypeHandler extends StringTokenizerTypeHandler<Short> { public ShortArrayTypeHandler() { super(Short.class); } @Override Short parseString(String value) { return Short.valueOf(value); } }
@MappedTypes(String[].class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class StringArrayTypeHandler extends StringTokenizerTypeHandler<String> { public StringArrayTypeHandler() { super(String.class); } @Override String parseString(String value) { return String.valueOf(value); } }
/** * <h1>类型处理器 - 字符串数组</h1> * * @author <a href="http://www.lizhaoweb.cn">李召(Jhon.Lee)</a> * @version 1.0.0.0.1 * @notes Created on 2016年7月12日<br> * Revision of last commit:$Revision$<br> * Author of last commit:$Author$<br> * Date of last commit:$Date$<br> * * */ @MappedTypes({ String[].class }) @MappedJdbcTypes({ JdbcType.VARCHAR }) public class StringArrayResultTypeHandler extends AbstractString2ArrayResultTypeHandler<String> { @Override protected String[] getTargetArray(String columnValue) { if (columnValue == null) return null; return columnValue.split(","); } }
@MappedTypes(Object.class) @MappedJdbcTypes({JdbcType.VARCHAR,JdbcType.CHAR}) public class JsonTypeHandler extends BaseTypeHandler<Object> {