0

MySqlデータベースに対して実行されているSpringアプリケーションがあります。私は次のような販売テーブルを持っています:

+-------------------+------------------------------+------+-----+---------+-------+
| Field             | Type                         | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+---------+-------+
| Price             | decimal(19,4)                | NO   |     | NULL    |       |
| ItemId            | int(10) unsigned             | NO   |     | NULL    |       |
+-------------------+------------------------------+------+-----+---------+-------+

私の春のクラスでは、次のものがあります。

long price = getSimpleJdbcTemplate().queryForLong("SELECT price FROM sales WHERE itemID = :itemID", params);
logger.info("price: " + price + ");

ただし、データベースで直接このクエリが0.8500を返したとしても、これは1の価格を返します。データベースの小数からコードの長さまで、この精度の低下を回避するにはどうすればよいですか?

4

1 に答える 1

5

long整数型であるため、小数点以下はサポートしていません。試しましたqueryForObject(sql, BigDecimal.class, params)か?

于 2010-01-12T00:18:08.457 に答える