MySQL 中电话号码的最佳数据类型是什么?它的 Java 类型映射应该是什么?

2024-05-08

我正在将 MySQL 与 Spring JDBC 模板一起用于我的 Web 应用程序。我需要存储仅包含数字的电话号码(10)。我对使用数据类型的数据类型有点困惑。

  1. MySQL 中最适合它的数据类型是什么?
  2. 为此,Bean (POJO) 类中的 Java 数据类型应该是什么?
  3. 如何使用 javax 验证/长度约束以及仅允许的数字来验证该数据类型?

字符串和 VARCHAR。

  • 不要尝试将电话号码存储为实际号码。它会破坏格式,删除前面的0以及其他不受欢迎的事情。

  • 如果您选择,您可以将用户输入限制为仅数字值,但即使在这种情况下,也可以将支持的持久数据保留为字符/字符串而不是数字。

  • 在尝试实施任何类型的长度限制、验证或掩码(例如 XXX-XXXX-XX)之前,请了解更广阔的世界以及它们的数字长度和格式有何不同。

  • 电话号码中可以包含非数字字符。一个典型的例子是+作为替代品00在国际号码的开头。

从评论中的对话中编辑:

  • 电话号码与数字有任何关系,这是更大的用户界面错误之一。最好将它们视为地址并对待它们,它比电话“号码”更接近它们的实际含义和代表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 中电话号码的最佳数据类型是什么?它的 Java 类型映射应该是什么? 的相关文章

随机推荐