【发布时间】:2014-07-24 14:57:35
【问题描述】:
我在方法 BillnAmountFetch 中从数据库中获取数据并在 main 方法中获取值我想将获取的 velue 分配给 arrayList ar。
我从数据库中获取数据的代码
public List<Object[]> BillnAmountFetch(long cid) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
List<Object[]> obj = null;
try {
String hql = "select count(billNo), sum(total), invoiceDate from BillDetails "
+ "where client.id=:cid "
+ "group by invoiceDate "
+ "order by invoiceDate DESC";
Query query = session.createQuery(hql);
query.setParameter("cid", cid);
obj = query.list();
tx.commit();
} catch (HibernateException e) {
if (tx != null) {
e.printStackTrace();
tx.rollback();
}
} finally {
session.close();
}
return obj;
}
以下是我打印从上述方法接收到的数据的代码
public static void main(String[] args) {
BillDAO bdo = new BillDAO();
List<Object[]> lst = bdo.BillnAmountFetch(1);
BillDetails bd = new BillDetails();
ArrayList<BillDetails> ar = new ArrayList<BillDetails>();
Object[] count = lst.get(0);
Object[] amount = lst.get(1);
Object[] invoice_dts = lst.get(2);
System.out.println("-----------Total Bills---------- ");
for (int x = 0; x < count.length; x++) {
System.out.println("Total bills " + count[x]);
}
System.out.println("-------Total Amount--------- ");
for (int x = 0; x < amount.length; x++) {
System.out.println("Amount " + amount[x]);
}
System.out.println("----------Total Invoice date---------- ");
for (int x = 0; x < invoice_dts.length; x++) {
System.out.println("dates " + invoice_dts[x]);
}
}
上述程序的输出是
-----------Total Bills----------
Total bills 3
Total bills 7281.00
Total bills 2014-07-15
-------Total Amount---------
Amount 7
Amount 14841.00
Amount 2014-07-12
----------Total Invoice date----------
dates 3
dates 1294.00
dates 2014-07-11
BillDetails.java
public class BillDetails implements java.io.Serializable {
private Date invoiceDate;
private long totalBills;
private BigDecimal totalAmount;
//getter and setter
}
如何正确地将值分配给ArrayList 对象ar
编辑:如果无法在 ar 中分配,那么我们可以将所有计数分配给一个数组或列表类似的其他数组。 我必须在 jsp 页面中显示值。
【问题讨论】: