我的数据库中有各种double
值。为了得到它们的总和,我正在使用
relvantDao.queryRawValue("SELECT SUM(productPrice * productQuantity) FROM cart");
问题是这只返回一个long
值,因此小数点会丢失。我怎样才能得到REAL
这些值的总和?
我的数据库中有各种double
值。为了得到它们的总和,我正在使用
relvantDao.queryRawValue("SELECT SUM(productPrice * productQuantity) FROM cart");
问题是这只返回一个long
值,因此小数点会丢失。我怎样才能得到REAL
这些值的总和?
问题是这只返回一个长值,因此小数点会丢失。我怎样才能得到这些值的真实总和?
如果您查看有关原始查询的 ORMLite 文档,您会发现有多种方法可以使用具有不同字段类型的原始查询。去引用:
您还可以通过传入 RawRowMapper 对象将结果映射到您自己的对象中。这将使用字符串数组调用映射对象,并允许它将字符串转换为对象...
如果结果更复杂,您还可以定义自己的自定义映射器。
这看起来像:
GenericRawResults<Double> rawResults =
orderDao.queryRaw(
"SELECT SUM(productPrice * productQuantity) FROM cart",
new RawRowMapper<Double>() {
public Double mapRow(String[] columnNames, String[] resultColumns){
return Double.parseDouble(resultColumns[0]);
}
});
ORMLite 文档中还有其他示例。例如,您可以指定一个DataType[]
参数并让 ORMLite 从数据库中提取原生数据到 a Double
。