定义接口
public interface InputDao
{
public Input get(String id) ;
public List<Object[]> subTotalByMoudul(String start,String end);
}
实例化
public class InputDaoHibernate extends HibernateDaoSupport implements InputDao
{
@Override
public List<Object[]> subTotalByMoudul(final String start,final String end) {
// TODO Auto-generated method stub
return (List<Object[]>)this.getHibernateTemplate().execute(
new HibernateCallback()
{
public Object doInHibernate(Session session) throws HibernateException, SQLException
{
Query query =session.createSQLQuery("select left(productcode,3) as MoudelStyle,sum(productpacked ) as TotalNum from input where date between ? and ? and productcode is not null group by left(productcode,3)");
query.setString(0, start);
query.setString(1, end);
return query.list();
}
}
);
}
}
应用中取出结果(省略调用spring的相关配置文件)
public class Input_sub {
/**
* @param args
*/
public static void main(String[] args)
{
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
InputDao inputDao=(InputDaoHibernate)ctx.getBean("inputdaoImpl");
SimpleDateFormat eDate= new SimpleDateFormat("yyyy-MM-dd");
try
{
//Date start=(Date)eDate.parseObject("2009-7-1");
//Date end=(Date)eDate.parseObject("2009-7-26");
ArrayList list=(ArrayList)inputDao.subTotalByMoudul("2009-7-1", "2009-7-26");
System.out.println(list.size());
Iterator it=list.iterator();
while(it.hasNext())
{
Object[] o=(Object[])it.next();
System.out.println((String)o[0]+","+(Integer)o[1]);
//System.out.println(s.);
}
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}