📄 columntype.java
字号:
package com.sxit.wap.common;import java.util.Hashtable;import java.sql.ResultSetMetaData;import java.sql.SQLException;public class ColumnType { static Hashtable oracle = new Hashtable(); static Hashtable sqlserver = new Hashtable(); static Hashtable mysql = new Hashtable(); static { //oracle column type oracle.put("CHAR", "String"); oracle.put("DATE", "Timestamp"); oracle.put("NUMBER", "int"); oracle.put("VARCHAR2", "String"); oracle.put("ROWID", "String"); //sqlserver column type sqlserver.put("BIGINT", "long"); sqlserver.put("BIT", "int"); sqlserver.put("CHAR", "String"); sqlserver.put("DATETIME", "Timestamp"); sqlserver.put("DECIMAL", "long"); sqlserver.put("FLOAT", "float"); sqlserver.put("INT", "int"); sqlserver.put("INT IDENTITY", "int"); sqlserver.put("MONEY", "float"); sqlserver.put("NCHAR", "String"); sqlserver.put("NTEXT", "String"); sqlserver.put("NUMERIC", "long"); sqlserver.put("NVARCHAR", "String"); sqlserver.put("REAL", "float"); sqlserver.put("SMALLINT", "int"); sqlserver.put("TEXT", "String"); sqlserver.put("TINYINT", "int"); sqlserver.put("VARCHAR", "String"); //mysql column type mysql.put("TINY", "int"); mysql.put("SHORT", "int"); mysql.put("INT", "int"); mysql.put("LONG", "int"); mysql.put("LONGLONG", "long"); mysql.put("FLOAT", "float"); mysql.put("DOUBLE", "float"); mysql.put("DECIMAL", "int"); mysql.put("DATE", "String"); mysql.put("DATETIME", "Timestamp"); mysql.put("TIMESTAMP", "Timestamp"); mysql.put("TIME", "String"); mysql.put("CHAR", "String"); mysql.put("BLOB", "String"); mysql.put("VARCHAR", "String"); } public static String getFieldType(int dbType, ResultSetMetaData rsmd, int columnNumber) throws SQLException { String columnName = rsmd.getColumnName(columnNumber); String columnType = rsmd.getColumnTypeName(columnNumber); int precision = rsmd.getPrecision(columnNumber); int scale = rsmd.getScale(columnNumber); String fieldType = ColumnType.getFieldTypeByColumnType(dbType, columnType); if (dbType == DBType.ORACLE) { if (scale!=0 && "int".equals(fieldType)){ fieldType = "float"; }else if ((precision==0 || precision>9) && "int".equals(fieldType)){ fieldType = "long"; } }/* System.out.println("columnName:"+columnName); System.out.println("columnType:"+columnType); System.out.println("fieldType:"+fieldType);*/ return fieldType; } private static String getFieldTypeByColumnType(int dbType, String columnType) { if (dbType == DBType.ORACLE) { return (String)oracle.get(columnType.toUpperCase()); } else if (dbType == DBType.SQLSERVER) { return (String)sqlserver.get(columnType.toUpperCase()); } else if (dbType == DBType.MYSQL) { return (String)mysql.get(columnType.toUpperCase()); } else { return null; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -