道歉令人困惑的头衔。我没有Java经验,所以我缺乏正确的术语。基本上,我试图在Java类型(即Class
)和JDBC类型(作为字符串)之间创建一个映射。所以我想尝试做这样的事情:
private static final Map<Class, String> javaToJdbcTypeMap;
static
{
javaToJdbcTypeMap = new HashMap<Class, String>();
javaToJdbcTypeMap.put(String, "varchar");
javaToJdbcTypeMap.put(Integer, "int");
//etc for other common Java types
}
然而,String和Integer给我带来了麻烦。 Intellij告诉我“表达预期”。而不是String
我试过"".getClass()
,而且它有效,但我觉得这样的风格很糟糕,应该有一种直截了当的方式。
答案 0 :(得分:2)
Mapping of JDBC Types to Java Types应该会有所帮助。你还要添加&#34; .class&#34;得到像javaToJdbcTypeMap.put(String.class, "varchar");
这样的类而且,从Java 7开始,你可以像Diamond Operator <>
一样使用
javaToJdbcTypeMap = new HashMap<>();
javaToJdbcTypeMap.put(String.class, "varchar");
javaToJdbcTypeMap.put(Integer.class, "int");