2012-01-23 26 views
4

我有我的RowMapper這樣的:如何將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; 

} 

所以我想在數據庫中投的整數值的用戶類型爲枚舉用戶類型。

爲什麼不能正常工作?

回答

7

施展它?不,不能做到。

只要字符串有效,就可以調用valueOf從String獲取Enum值。

2

您可以索引Enum.values()

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

您可能希望把一些錯誤檢查。 :)