berg369 2009-07-28 08:14 采纳率: 85.7%
浏览 279
已采纳

简单类别用什么数据类型?

一个表中需要有一个类别字段,只有三种类别,数据库中与java程序中应使用哪种数据类型?
1、
原来数据库中常用char(1),1,2,3代表三种类别,而到了java中,需要根据类别做不同处理,无论用if还是switch都不容易理解。
2、
如果直接用字符串,如"large""small""middle",在java中用字符串判断,容易理解,但性能好吗?
3、
或者用枚举,枚举性能会好吗?我访问数据库用ibatis,如何映射枚举呢?
4、
java中是否改用三个boolean属性代替一个类别属性呢?有好处吗?

  • 写回答

1条回答 默认 最新

  • mortimer_c 2009-07-28 09:28
    关注

    建议用枚举,ibatis不熟悉,但是在hibernate的JPA实现,或者openJPA时,可以直接使用枚举类型的字段。
    [code="java"]
    @Enumerated(EnumType.STRING)
    @Column(name="state", length=32)
    public AppState getState() {
    return state;
    }
    [/code]
    其中,AppState是enum类型,数据库中自动映射为varchar类型的字段

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?