开发者社区> 问答> 正文

枚举类型的字段值怎么以字符串形式读取

当 mysql 字段类型为 enum 时,column.getValue() 返回的是 int 值,我想问下能否方便地获取和 mysql 中一样的 enum 字符串值呢?

原提问者GitHub用户idreamshen

展开
收起
绿子直子 2023-05-09 16:00:34 100 0
2 条回答
写回答
取消 提交回答
  • binlog协议里数据包就是int类型,可以拿到数据库表结构定义,将int转为对应的enum值 entry协议里有个mysql type属性

    原回答者GitHub用户agapple

    2023-05-10 11:02:10
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    可以通过 MySQL 内置的 CAST() 函数将 enum 类型的值转换为字符串类型,例如:

    EnumType enumType = new EnumType(new ArrayList<String>() {{
        add("value1");
        add("value2");
    }});
    Column column = new Column();
    column.setValue(enumType.getObject());
    String value = ((EnumType) column.getValue()).getNameByOrdinal(0); // "value1"
    
    2023-05-10 08:20:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载