有时候切入hibernate代码,运行程序后页面既然只剩下</div 这样,郁闷,日志里也没有什么报错信息。后来发现原来是取值的之后取错格式。以下是些感受和经验:
sum计算的运用:
String hql = "select sum(contribute.IAmount) from Contribute contribute";
List list = sa.query(hql);
System.out.println("AAAAAAAAA::::"+list.get(0));
像这样,其实list的第一个值已经是一个字段累加后的和结果了,可以说不能用对象来看待,因为里面再也没有第二层属性值可以让你取了,直接list.get(0)出值就行了,我就是因为这个页面刷不出来的。
查询后直接得出POJO对象
String hql = "select new Contribute(contribute.IName,contribute.IAmount,contribute.ILovemess) from Contribute contribute";
List list1 = sa.query(hql);
for(int i = 0;i<list1.size();i++){
Contribute contribute = (Contribute)list1.get(i);
System.out.println("NameNAME!!!!"+contribute.getIName());
System.out.println("MONEYMONYE!!!!"+contribute.getIAmount());
System.out.println("LOVELOCE!!!!"+contribute.getILovemess());
像这样,首先在自己的pojo类里面添加多个Contribute(contribute.IName,contribute.IAmount,contribute.ILovemess) 的构造方法,然后直接在HQL语句里面把查询结果new出一个对象就ok了,像这样得出的就是一个pojo的对象,里面的属性值就是数据库里面的,也就是你想要的,这样比单纯的object[] obj 来得更形象化,更容易理解到面向对象的感觉。
完毕~