java 枚举保存数据库_java – 在数据库中保存枚举的方法

我们从来不把枚举存储为数字序数值;它使调试和支持的方式太难了。我们将实际枚举值存储转换为字符串:

public enum Suit { Spade, Heart, Diamond, Club }

Suit theSuit = Suit.Heart;

szQuery = "INSERT INTO Customers (Name, Suit) " +

"VALUES ('Ian Boyd', %s)".format(theSuit.name());

然后用回读:

Suit theSuit = Suit.valueOf(reader["Suit"]);

问题是在过去盯着企业管理器,试图破译:

Name Suit

================== ==========

Shelby Jackson 2

Ian Boyd 1

经文

Name Suit

================== ==========

Shelby Jackson Diamond

Ian Boyd Heart

后者更容易。前者需要获取源代码并查找分配给枚举成员的数值。

是的,它需要更多的空间,但枚举成员名称很短,硬盘驱动器是便宜的,它是更值得帮助,当你有一个问题。

此外,如果您使用数值,您将被绑定到它们。你不能很好地插入或重新排列成员,而不必强制使用旧的数值。例如,将Suit枚举更改为:

public enum Suit { Unknown, Heart, Club, Diamond, Spade }

将必须成为:

public enum Suit {

Unknown = 4,

Heart = 1,

Club = 3,

Diamond = 2,

Spade = 0 }

以便维护存储在数据库中的遗留数值。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部