Java 在sql中计算列的总数
我正在尝试用sql计算总量。我正在使用java POJO类。现在我正在编写这样的查询Java 在sql中计算列的总数,java,sql,Java,Sql,我正在尝试用sql计算总量。我正在使用java POJO类。现在我正在编写这样的查询 "SELECT SUM(amount) FROM fundraisingusers "; 但它显示错误,因为在com.lh.alumbers.dto.FundraisingUsers类上找不到SUM(amount)的setter。如何在我的Java pojo类中添加SUM的getter和setter 这是我的pojo课程 public class FundraisingUsers implements
"SELECT SUM(amount) FROM fundraisingusers ";
但它显示错误,因为在com.lh.alumbers.dto.FundraisingUsers类上找不到SUM(amount)的setter。如何在我的Java pojo类中添加SUM的getter和setter
这是我的pojo课程
public class FundraisingUsers implements Serializable{
private Integer fundraisinguserId;
private BigDecimal amount;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "fundraisinguserId")
public Integer getFundraisinguserId() {
return fundraisinguserId;
}
public void setFundraisinguserId(Integer fundraisinguserId) {
this.fundraisinguserId = fundraisinguserId;
}
@Column(name = "amount")
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
我想你想做的是,你想得到所有用户的总数 这里的问题是,您试图获取一个
fundraisingusers
-对象,并将该金额分配给所有用户和每个用户的金额之和。这是错误的
您可以做的是:
SELECT amount FROM fundraisingusers;
对于您得到的所有模型,您可以在代码端构建总和
或者您可以尝试使用getter/setter构建pojo,如
private BigDecimal sumamount;
@Column(name = "sumamount")
public BigDecimal getSumAmount() {
return this.sumamount;
}
public void setSumAmount(BigDecimal amount) {
this.sumamount= sumamount;
}
问题是
SELECT sum(amount) as SumAmount FROM fundraisingusers;
您可以向我们展示您的pojo类吗?您如何构造和执行该查询?作为本机sql查询、jsql查询还是使用一些标准api?我有dao和服务层。从dao执行查询您似乎使用了一个框架,将sql结果列映射到对象设置器。请告诉我们您使用的是哪个框架。@RalfKleberhoff我想他使用的是hibernate。它显示了setSumAmount的错误,就像此方法必须返回一样BigDecimal@SachinHR您的
amount
-列是什么类型的db?它是bigdecimal类型您得到的确切例外情况是什么?您可以告诉我是否必须在pojo中创建另一个字段作为私人的大数目?