如何将rowmapper中的结果集转换为枚举?

时间:2012-01-23 02:20:29

标签: java spring jdbc jdbctemplate

我有我的rowmapper:

private static final class UserRowMapper implements RowMapper<User> {

    User user = new User();

      user.setId(rs.getInt("id"));
      user.setUserType( (UserType)rs.getInt("userType")); // ?????

    return user;

}

所以我试图将dbType for userType中的整数值强制转换为枚举UserType。

为什么这不起作用?

2 个答案:

答案 0 :(得分:9)

施展吗?不,不能做。

只要字符串有效,就可以调用valueOf从String中获取Enum值。

答案 1 :(得分:4)

您可以索引到Enum.values()

user.setUserType( UserType.values()[rs.getInt("userType")] );

您可能想要进行一些错误检查。 :)