我使用Spring Data JPA将电话号码保存在数据库中,
在模型中我定义了这个
private String directPhone;
保存supplier.directPhone="99250397679"
在DB中,它以指数形式保存
以此格式保存direct_phone: 9.925039767E9
Supplier supplier=supplierRepository.findOne(new Long(1));
接收它时会以指数形式给我。
但我想用String形式。帮我进入String形式。 year=2005
也会发生同样的事情并保存year=2005.0
答案 0 :(得分:1)
首先,它不应该将字符串保存为DB中的指数。 DB中的表列是varchar(10)吗? 其次,如果你需要将这些字符串转换为你想要的字符串,你可以这样做:
删除点:
direct_phone = direct_phone.replaceAll("\\.", "");
删除'E':
direct_phone = direct_phone.replaceAll("[E]","")
答案 1 :(得分:1)
这与Spring Data没有任何关系。你也用普通的JDBC来解决这个问题。
MySQL定义了各种numeric types,你可能正在使用存储浮点数的FLOAT
, DOUBLE
or DECIMAL(n, m)
, NUMERIC(n, m)
。
您需要INTEGER
使用year
,VARCHAR
使用direct_phone
。