問題:
java中,當double數目過大,轉出String時,變成了科學記數法的表示。
總結:
1.項目的存儲用的是mysql,mysql的類型和java類型之間存在映射關系,以前關注不多。現在總結一下:
類型名稱
顯示長度
資料庫類型
JAVA類型
JDBC類型索引(int)
描述
VARCHAR
L+N
java.lang.String
12
CHAR
N
1
BLOB
java.lang.byte[]
-4
TEXT
65535
-1
INTEGER
4
INTEGER UNSIGNED
java.lang.Long
TINYINT
3
TINYINT UNSIGNED
java.lang.Integer
-6
SMALLINT
5
SMALLINT UNSIGNED
MEDIUMINT
8
MEDIUMINT UNSIGNED
BIT
java.lang.Boolean
-7
BIGINT
20
BIGINT UNSIGNED
java.math.BigInteger
-5
FLOAT
4+8
java.lang.Float
7
DOUBLE
22
java.lang.Double
DECIMAL
11
java.math.BigDecimal
BOOLEAN
同TINYINT
ID
PK (INTEGER UNSIGNED)
DATE
10
java.sql.Date
91
TIME
java.sql.Time
92
DATETIME
19
java.sql.Timestamp
93
TIMESTAMP
YEAR
2. 對于bolb,一般用于對圖檔的資料庫存儲,原理是把圖檔打成二進制,然後進行的一種存儲方式,在java中對應byte[]數組。
3. 對于boolen類型,在mysql資料庫中,個人認為用int類型代替較好,對bit操作不是很友善,尤其是在具有web頁面開發的項目中,表示0/1,對應java類型的Integer較好。
4. 這次遇到的問題,我用的解決方案就是mysql端用decimal來存儲,然後java端用BigDecimal來接收,
涉及了Decimal的一些用法:
decimal轉int
int 轉decimal
本文轉自二郎三郎部落格園部落格,原文連結:http://www.cnblogs.com/haore147/p/5485425.html,如需轉載請自行聯系原作者