【发布时间】:2011-04-19 03:09:42
【问题描述】:
我的对象中有一个字段需要固定宽度并且只能是数字。它将保存诸如 0002、0103 或 1212 之类的值。目前,我的 Java 对象将此字段定义为字符串,而数据库 (MySQL) 是一个整数,填充为 4 个字符:laborCode int(4) zerofill。我还有其他几个具有相同模式的表格,有些有两个字符,有些有四个。这些表是通过自动编号主键链接到其他表的查找表。
在前端,当用户向表中添加数据时,我有一些预先存在的验证,确保用户输入一个数字,所以他们只需要输入 2、103 或 1212。当数据是插入后,我不需要任何代码来填充数据并且选择语句返回填充的值。
创建表格后,我开始想也许我应该将字段定义为字符:laborCode char(4)。如果我以这种方式定义它,我需要正确格式化数据,这应该很容易使用对象的 setter 方法。这种方式对我来说似乎更正确,我的 java 对象中的字符串值映射到数据库中的字符串值。
用一种数据类型定义字段相对于另一种数据类型有什么优点/缺点吗?
【问题讨论】: