?? mysqldefs.java
字號:
break; case MysqlDefs.FIELD_TYPE_VAR_STRING: case MysqlDefs.FIELD_TYPE_VARCHAR: jdbcType = Types.VARCHAR; break; case MysqlDefs.FIELD_TYPE_STRING: jdbcType = Types.CHAR; break; case MysqlDefs.FIELD_TYPE_GEOMETRY: jdbcType = Types.BINARY; break; case MysqlDefs.FIELD_TYPE_BIT: jdbcType = Types.BIT; break; default: jdbcType = Types.VARCHAR; } return jdbcType; } /** * Maps the given MySQL type to the correct JDBC type. */ static int mysqlToJavaType(String mysqlType) { if (mysqlType.equalsIgnoreCase("BIT")) { return mysqlToJavaType(FIELD_TYPE_BIT); } else if (mysqlType.equalsIgnoreCase("TINYINT")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_TINY); } else if (mysqlType.equalsIgnoreCase("SMALLINT")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_SHORT); } else if (mysqlType.equalsIgnoreCase("MEDIUMINT")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_INT24); } else if (mysqlType.equalsIgnoreCase("INT") || mysqlType.equalsIgnoreCase("INTEGER")) { //$NON-NLS-1$ //$NON-NLS-2$ return mysqlToJavaType(FIELD_TYPE_LONG); } else if (mysqlType.equalsIgnoreCase("BIGINT")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_LONGLONG); } else if (mysqlType.equalsIgnoreCase("INT24")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_INT24); } else if (mysqlType.equalsIgnoreCase("REAL")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_DOUBLE); } else if (mysqlType.equalsIgnoreCase("FLOAT")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_FLOAT); } else if (mysqlType.equalsIgnoreCase("DECIMAL")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_DECIMAL); } else if (mysqlType.equalsIgnoreCase("NUMERIC")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_DECIMAL); } else if (mysqlType.equalsIgnoreCase("DOUBLE")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_DOUBLE); } else if (mysqlType.equalsIgnoreCase("CHAR")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_STRING); } else if (mysqlType.equalsIgnoreCase("VARCHAR")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_VAR_STRING); } else if (mysqlType.equalsIgnoreCase("DATE")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_DATE); } else if (mysqlType.equalsIgnoreCase("TIME")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_TIME); } else if (mysqlType.equalsIgnoreCase("YEAR")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_YEAR); } else if (mysqlType.equalsIgnoreCase("TIMESTAMP")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_TIMESTAMP); } else if (mysqlType.equalsIgnoreCase("DATETIME")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_DATETIME); } else if (mysqlType.equalsIgnoreCase("TINYBLOB")) { //$NON-NLS-1$ return java.sql.Types.BINARY; } else if (mysqlType.equalsIgnoreCase("BLOB")) { //$NON-NLS-1$ return java.sql.Types.LONGVARBINARY; } else if (mysqlType.equalsIgnoreCase("MEDIUMBLOB")) { //$NON-NLS-1$ return java.sql.Types.LONGVARBINARY; } else if (mysqlType.equalsIgnoreCase("LONGBLOB")) { //$NON-NLS-1$ return java.sql.Types.LONGVARBINARY; } else if (mysqlType.equalsIgnoreCase("TINYTEXT")) { //$NON-NLS-1$ return java.sql.Types.VARCHAR; } else if (mysqlType.equalsIgnoreCase("TEXT")) { //$NON-NLS-1$ return java.sql.Types.LONGVARCHAR; } else if (mysqlType.equalsIgnoreCase("MEDIUMTEXT")) { //$NON-NLS-1$ return java.sql.Types.LONGVARCHAR; } else if (mysqlType.equalsIgnoreCase("LONGTEXT")) { //$NON-NLS-1$ return java.sql.Types.LONGVARCHAR; } else if (mysqlType.equalsIgnoreCase("ENUM")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_ENUM); } else if (mysqlType.equalsIgnoreCase("SET")) { //$NON-NLS-1$ return mysqlToJavaType(FIELD_TYPE_SET); } else if (mysqlType.equalsIgnoreCase("GEOMETRY")) { return mysqlToJavaType(FIELD_TYPE_GEOMETRY); } else if (mysqlType.equalsIgnoreCase("BINARY")) { return Types.BINARY; // no concrete type on the wire } else if (mysqlType.equalsIgnoreCase("VARBINARY")) { return Types.VARBINARY; // no concrete type on the wire } else if (mysqlType.equalsIgnoreCase("BIT")) { return mysqlToJavaType(FIELD_TYPE_BIT); } // Punt return java.sql.Types.OTHER; } /** * @param mysqlType * @return */ public static String typeToName(int mysqlType) { switch (mysqlType) { case MysqlDefs.FIELD_TYPE_DECIMAL: return "FIELD_TYPE_DECIMAL"; case MysqlDefs.FIELD_TYPE_TINY: return "FIELD_TYPE_TINY"; case MysqlDefs.FIELD_TYPE_SHORT: return "FIELD_TYPE_SHORT"; case MysqlDefs.FIELD_TYPE_LONG: return "FIELD_TYPE_LONG"; case MysqlDefs.FIELD_TYPE_FLOAT: return "FIELD_TYPE_FLOAT"; case MysqlDefs.FIELD_TYPE_DOUBLE: return "FIELD_TYPE_DOUBLE"; case MysqlDefs.FIELD_TYPE_NULL: return "FIELD_TYPE_NULL"; case MysqlDefs.FIELD_TYPE_TIMESTAMP: return "FIELD_TYPE_TIMESTAMP"; case MysqlDefs.FIELD_TYPE_LONGLONG: return "FIELD_TYPE_LONGLONG"; case MysqlDefs.FIELD_TYPE_INT24: return "FIELD_TYPE_INT24"; case MysqlDefs.FIELD_TYPE_DATE: return "FIELD_TYPE_DATE"; case MysqlDefs.FIELD_TYPE_TIME: return "FIELD_TYPE_TIME"; case MysqlDefs.FIELD_TYPE_DATETIME: return "FIELD_TYPE_DATETIME"; case MysqlDefs.FIELD_TYPE_YEAR: return "FIELD_TYPE_YEAR"; case MysqlDefs.FIELD_TYPE_NEWDATE: return "FIELD_TYPE_NEWDATE"; case MysqlDefs.FIELD_TYPE_ENUM: return "FIELD_TYPE_ENUM"; case MysqlDefs.FIELD_TYPE_SET: return "FIELD_TYPE_SET"; case MysqlDefs.FIELD_TYPE_TINY_BLOB: return "FIELD_TYPE_TINY_BLOB"; case MysqlDefs.FIELD_TYPE_MEDIUM_BLOB: return "FIELD_TYPE_MEDIUM_BLOB"; case MysqlDefs.FIELD_TYPE_LONG_BLOB: return "FIELD_TYPE_LONG_BLOB"; case MysqlDefs.FIELD_TYPE_BLOB: return "FIELD_TYPE_BLOB"; case MysqlDefs.FIELD_TYPE_VAR_STRING: return "FIELD_TYPE_VAR_STRING"; case MysqlDefs.FIELD_TYPE_STRING: return "FIELD_TYPE_STRING"; case MysqlDefs.FIELD_TYPE_VARCHAR: return "FIELD_TYPE_VARCHAR"; case MysqlDefs.FIELD_TYPE_GEOMETRY: return "FIELD_TYPE_GEOMETRY"; default: return " Unknown MySQL Type # " + mysqlType; } } private static Map mysqlToJdbcTypesMap = new HashMap(); static { mysqlToJdbcTypesMap.put("BIT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_BIT))); mysqlToJdbcTypesMap.put("TINYINT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_TINY))); mysqlToJdbcTypesMap.put("SMALLINT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_SHORT))); mysqlToJdbcTypesMap.put("MEDIUMINT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_INT24))); mysqlToJdbcTypesMap.put("INT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_LONG))); mysqlToJdbcTypesMap.put("INTEGER", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_LONG))); mysqlToJdbcTypesMap.put("BIGINT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_LONGLONG))); mysqlToJdbcTypesMap.put("INT24", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_INT24))); mysqlToJdbcTypesMap.put("REAL", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_DOUBLE))); mysqlToJdbcTypesMap.put("FLOAT", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_FLOAT))); mysqlToJdbcTypesMap.put("DECIMAL", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_DECIMAL))); mysqlToJdbcTypesMap.put("NUMERIC", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_DECIMAL))); mysqlToJdbcTypesMap.put("DOUBLE", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_DOUBLE))); mysqlToJdbcTypesMap.put("CHAR", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_STRING))); mysqlToJdbcTypesMap.put("VARCHAR", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_VAR_STRING))); mysqlToJdbcTypesMap.put("DATE", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_DATE))); mysqlToJdbcTypesMap.put("TIME", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_TIME))); mysqlToJdbcTypesMap.put("YEAR", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_YEAR))); mysqlToJdbcTypesMap.put("TIMESTAMP", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_TIMESTAMP))); mysqlToJdbcTypesMap.put("DATETIME", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_DATETIME))); mysqlToJdbcTypesMap.put("TINYBLOB", Constants.integerValueOf(java.sql.Types.BINARY)); mysqlToJdbcTypesMap.put("BLOB", Constants.integerValueOf( java.sql.Types.LONGVARBINARY)); mysqlToJdbcTypesMap.put("MEDIUMBLOB", Constants.integerValueOf( java.sql.Types.LONGVARBINARY)); mysqlToJdbcTypesMap.put("LONGBLOB", Constants.integerValueOf( java.sql.Types.LONGVARBINARY)); mysqlToJdbcTypesMap .put("TINYTEXT", Constants.integerValueOf(java.sql.Types.VARCHAR)); mysqlToJdbcTypesMap .put("TEXT", Constants.integerValueOf(java.sql.Types.LONGVARCHAR)); mysqlToJdbcTypesMap.put("MEDIUMTEXT", Constants.integerValueOf( java.sql.Types.LONGVARCHAR)); mysqlToJdbcTypesMap.put("LONGTEXT", Constants.integerValueOf( java.sql.Types.LONGVARCHAR)); mysqlToJdbcTypesMap.put("ENUM", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_ENUM))); mysqlToJdbcTypesMap.put("SET", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_SET))); mysqlToJdbcTypesMap.put("GEOMETRY", Constants.integerValueOf( mysqlToJavaType(FIELD_TYPE_GEOMETRY))); } static final void appendJdbcTypeMappingQuery(StringBuffer buf, String mysqlTypeColumnName) { buf.append("CASE "); Map typesMap = new HashMap(); typesMap.putAll(mysqlToJdbcTypesMap); typesMap.put("BINARY", Constants.integerValueOf(Types.BINARY)); typesMap.put("VARBINARY", Constants.integerValueOf(Types.VARBINARY)); Iterator mysqlTypes = typesMap.keySet().iterator(); while (mysqlTypes.hasNext()) { String mysqlTypeName = (String)mysqlTypes.next(); buf.append(" WHEN "); buf.append(mysqlTypeColumnName); buf.append("='"); buf.append(mysqlTypeName); buf.append("' THEN "); buf.append(typesMap.get(mysqlTypeName)); if (mysqlTypeName.equalsIgnoreCase("DOUBLE") || mysqlTypeName.equalsIgnoreCase("FLOAT") || mysqlTypeName.equalsIgnoreCase("DECIMAL") || mysqlTypeName.equalsIgnoreCase("NUMERIC")) { buf.append(" WHEN "); buf.append(mysqlTypeColumnName); buf.append("='"); buf.append(mysqlTypeName); buf.append(" unsigned' THEN "); buf.append(typesMap.get(mysqlTypeName)); } } buf.append(" ELSE "); buf.append(Types.OTHER); buf.append(" END "); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -