我在我的Web应用程序中使用带有Spring JDBC模板的MySQL.我需要存储只有数字(10)的电话号码.我对使用数据类型的数据类型有点困惑.
> MySQL中最好的数据类型是什么?
> Bean(POJO)类中的Java数据类型应该是什么?
>如何使用javax验证/约束来验证该数据类型的长度,并且只允许数字?
解决方法:
弦乐& VARCHAR.
>请勿尝试将电话号码存储为实际号码.它会破坏格式,删除前面的0和其他不良的东西.
>如果您选择,您可以将用户输入限制为仅数值,但即使在这种情况下,也可以将支持持久数据保留为字符/字符串而不是数字.
>在尝试实施任何类型的长度限制,验证或掩码(例如XXX-XXXX-XX)之前,请注意更广泛的世界以及它们的数字长度和格式如何不同.
>非数字字符在电话号码中有效.一个典型的例子是在国际号码开头替换00.
在评论中的对话中编辑:
>电话号码与数字有关,这是更大的UI错误之一.考虑和处理它们就像地址一样好得多,它更接近它们实际所代表的东西而不是手机“数字”.