2012-01-23 24 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")]); 

您可能希望把一些错误检查。 :)