private static MSimpleType define(MSimpleTypeKind kind, String jdbcTypeName, Integer defaultLength, Integer defaultPrecision, Integer defaultScale, Class<?>... javaTypes){ String name = kind.name(); String title = Strings.upperCamel(name); JdbcType jdbcType = JdbcTypes.forTypeName(jdbcTypeName); MSimpleType t = new MSimpleType(name, title, null, null, kind, jdbcType, javaTypes[0], javaTypes, defaultLength, defaultPrecision, defaultScale); types.put(name.toLowerCase(), t); return t; }
public DbColumnBuilder(String name,int typeCode,int length,boolean nullable) { this.name = name; this.typeCode = typeCode; this.typeName = JdbcTypes.forTypeCode(typeCode).getName(); this.length = length; this.nullable = nullable; }
private static void register(int typeCode,String typeName,JdbcTypeKind kind,Class<?> defaultJavaType, boolean supportsLength, boolean supportsPrecisionAndScale){ register(typeCode, typeName, kind, defaultJavaType, defaultJavaType, supportsLength, supportsPrecisionAndScale, null); }
private static boolean parseType(String name, String value, MetaField field) { //is type name ? varchar(100) JdbcType type = JdbcTypes.tryForTypeName(name.toLowerCase()); if(null != type) { field.setType(type.getName()); String[] numbers = Strings.split(value, ','); if(numbers.length == 2) { field.setPrecision(Integer.parseInt(numbers[0])); field.setScale(Integer.parseInt(numbers[1])); return true; } if(numbers.length == 1) { field.setLength(Integer.parseInt(numbers[0])); return true; } } return false; }
JdbcType jdbcType = JdbcTypes.tryForTypeCode(type);
JdbcType type = JdbcTypes.tryForTypeName(word.toLowerCase()); if(null != type) { field.setType(type.getName());
public DbColumnBuilder setTypeName(String typeName) { Args.notNull(typeName); this.typeName = typeName; this.typeCode = JdbcTypes.forTypeName(typeName).getCode(); return this; }
public DbColumnBuilder setTypeCode(Integer typeCode) { this.typeCode = typeCode; if(null != typeCode){ this.typeName = JdbcTypes.forTypeCode(typeCode).getName(); }else{ this.typeName = null; } return this; }
type = JdbcTypes.tryForTypeName(typeName); if(null == type){ throw new DomainConfigException("Jdbc type '" + typeName + "' not supported, check the annotation : " + at.getName());
private static void register(int typeCode,String typeName,JdbcTypeKind kind,Class<?> defaultJavaType, boolean supportsLength, boolean supportsPrecisionAndScale, String... aliases){ register(typeCode, typeName, kind, defaultJavaType, defaultJavaType, supportsLength, supportsPrecisionAndScale, aliases); }
protected void readSerializer(AppConfigContext context, XmlReader reader) throws AppConfigException { OrmConfigExtension extension = context.getOrCreateExtension(OrmConfigExtension.class); String name = reader.getRequiredAttribute(NAME); String defaultColumnType = reader.getRequiredAttribute(DEFAULT_COLUMN_TYPE); Integer defaultColumnLength = reader.getIntegerAttribute(DEFAULT_COLUMN_LENGTH); SerializeConfigImpl sc = new SerializeConfigImpl(); sc.setDefaultColumnType(JdbcTypes.forTypeName(defaultColumnType)); sc.setDefaultColumnLength(defaultColumnLength); extension.addSerializeConfig(name, sc); }
@Override public String toSqlDefaultValue(int typeCode, Object value) { if (Types.BOOLEAN == typeCode || Types.BIT == typeCode) { Boolean bool = Converts.toBoolean(value); return bool ? getBooleanTrueString() : getBooleanFalseString(); } JdbcType type = JdbcTypes.forTypeCode(typeCode); if (type.getKind().isNumeric()) { return Converts.toString(value); } else { String s = Converts.toString(value); if (s.endsWith(")")) { return s; } else if (s.startsWith("'") && s.endsWith("'")) { return s; } else if (typeCode == Types.VARCHAR || typeCode == Types.CHAR) { return "'" + Converts.toString(value) + "'"; } else { return s; } } }
type = JdbcTypes.tryForTypeName(typeName); if(null == type){ throw new DomainConfigException("Jdbc type '" + typeName + "' not supported, check the xml : " + reader.getCurrentLocation());
private static void register(int typeCode,String typeName,JdbcTypeKind kind,Class<?> defaultReadType,Class<?> defaultSaveType, boolean supportsLength,boolean supportsPrecisionAndScale){ register(typeCode, typeName, kind, defaultReadType, defaultSaveType, supportsLength, supportsPrecisionAndScale, null); }
p.setType(f.getResolvedType()); }else { p.setType(MTypes.getMType(JdbcTypes.forTypeName(f.getType()).getDefaultReadType()));
protected Object readColumnValueForMap(DbDialect dialect,ResultSet rs,ResultColumnMapping cm,FieldMapping fm, int index) throws SQLException{ Object value = dialect.getColumnValue(rs, index, cm.getColumnType()); if(null != value){ if(null == fm) { Class<?> targetType = JdbcTypes.forTypeCode(cm.getColumnType()).getDefaultReadType(); value = Converts.convert(value, targetType); }else{ if(null != fm.getSerializer()) { value = fm.getSerializer().deserialize(fm, value); } } } return value; }
type = JdbcTypes.tryForTypeName(typeName); if(null == type){ throw new DomainConfigException("Jdbc type '" + typeName + "' not supported, check the xml : " + reader.getCurrentLocation());
fm.setHasPhysicalColumn(true); JdbcType jdbcType = JdbcTypes.forTypeName(fm.getColumn().getTypeName());
column.setTypeCode(rs.getInt(COLUMN_TYPE)); JdbcType jdbcType = JdbcTypes.forTypeCode(column.getTypeCode());
protected DbColumnType getColumnType(DbColumn column) { JdbcType jdbcType = JdbcTypes.forTypeCode(column.getTypeCode()); DbColumnType columnType = columnTypes.get(jdbcType.getCode(), column.getLength()); if (null == columnType) { throw new DbException(Strings.format( "Unsupported column type '{0}' defined in column '{1}'", jdbcType.getName(), column.getName())); } if (!columnType.matchesLength(column.getLength())) { throw new DbException("Length must in range " + columnType.getRangeString() + " in column '" + column.getName() + "'"); } return columnType; }