jfreechart从Oracle数据库中取值错误,在线等

问题描述

严重:Servlet.service()forservletPieChartthrewexceptionjava.lang.NullPointerExceptionatcom.etcxm.shouwangzhe.jfreechart.PieChartServlet.createPieDataset(PieChartServlet.java:77)atcom.etcxm.shouwangzhe.jfreechart.PieChartServlet.doPost(PieChartServlet.java:48)atcom.etcxm.shouwangzhe.jfreechart.PieChartServlet.doGet(PieChartServlet.java:40)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:690)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)atjava.lang.Thread.run(Thread.java:619)=================================================================================出现空指针异常具体的代码如下:publicclassPieChartServletextendsHttpServlet{privatestaticfinallongserialVersionUID=-3798298158506030366L;privateICpccmxServicecpccmxService;privateCpccmxVOcpccmxVO;publicPieChartServlet(){super();}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{this.doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//设置返回类型为图片response.setContentType("image/png");//获取数据集对象PieDatasetdataset=createPieDataset(request);//创建图形对象JFreeChartjfreechart=ChartFactory.createPieChart3D("片烟成品产出",dataset,true,true,false);//获得图表区域对象PiePlotpieplot=(PiePlot)jfreechart.getPlot();//设置图表区域的标签字体pieplot.setLabelFont(newFont("宋体",0,12));//设置图表区域无数据时的默认显示文字pieplot.setNoDataMessage("没有产出数据");//设置图表区域不是圆形,由于是3D的饼形图,建议设置为falsepieplot.setCircular(false);//设置图表区域文字与图表区域的间隔距离,0.02表示2%pieplot.setLabelGap(0.02D);//将图表已数据流的方式返回给客户端ChartUtilities.writeChartAsPNG(response.getOutputStream(),jfreechart,512,512);}/***返回数据集**@return*/privatePieDatasetcreatePieDataset(HttpServletRequestrequest){//创建饼形图数据集对象DefaultPieDatasetdefaultpiedataset=newDefaultPieDataset();Sessionsession=HibernateSessionFactory.getSession();List<Object>list=session.createSQLQuery("selectdjdm,sum(pyjs)fromcpccmxgroupbydjdm").list();if(list!=null){for(inti=0;i<list.size();i++){Object[]array=(Object[])list.get(i);//分别图形区域的说明和数据defaultpiedataset.setValue((Comparable)array[0],(Number)array[1]);}}*returndefaultpiedataset;/*//测试例子defaultpiedataset.setValue("苹果",100);defaultpiedataset.setValue("香蕉",200);defaultpiedataset.setValue("梨子",300);returndefaultpiedataset;*/}//getsetpublicICpccmxServicegetCpccmxService(){returncpccmxService;}publicvoidsetCpccmxService(ICpccmxServicecpccmxService){this.cpccmxService=cpccmxService;}publicCpccmxVOgetCpccmxVO(){returncpccmxVO;}publicvoidsetCpccmxVO(CpccmxVOcpccmxVO){this.cpccmxVO=cpccmxVO;}在线等,哪位大大帮忙解决下,困扰了好多天万分感谢!!!

解决方案

解决方案二:
createPieDataset77行是哪一行啊
解决方案三:
/***返回数据集**@return*/privatePieDatasetcreatePieDataset(HttpServletRequestrequest){//创建饼形图数据集对象DefaultPieDatasetdefaultpiedataset=newDefaultPieDataset();Sessionsession=HibernateSessionFactory.getSession();List<Object>list=session.createSQLQuery("selectdjdm,sum(pyjs)fromcpccmxgroupbydjdm").list();if(list!=null){for(inti=0;i<list.size();i++){Object[]array=(Object[])list.get(i);//分别图形区域的说明和数据defaultpiedataset.setValue((Comparable)array[0],(Number)array[1]);}}*returndefaultpiedataset;/*//测试例子defaultpiedataset.setValue("苹果",100);defaultpiedataset.setValue("香蕉",200);defaultpiedataset.setValue("梨子",300);returndefaultpiedataset;*/}

时间: 2024-08-04 07:39:29

jfreechart从Oracle数据库中取值错误,在线等的相关文章

php数据库中取值-php+mysql 数据库中取值

问题描述 php+mysql 数据库中取值 php+mysql 数据库中取值 表中字段是int类型,1代表供货商发货,2代表公司配货 .在页面上用一个下拉列表选择发货方式,如何把 供货商发货 公司配货 字样显示在下拉列表中 , 提交表单后可以更改配货方式,,, 后台逻辑该怎么写呢? 解决方案 http://yuncode.net/code/c_5267eac94c46717 解决方案二: http://www.jb51.net/article/60189.htm

40-.net如何从数据库中的一个表中取值

问题描述 .net如何从数据库中的一个表中取值 假设这是我数据库里的一张表(数据库是oracle),我该如何取得这些数将他们传给jsonObj.Rows,求教各位大神,能给个具体的实现过程吗? 解决方案 sonObj.Rows是你自己组装的json对象吧,你首先要查询数据库,这个自己看msdn把,很简单,获取值后开始组织json就行了 解决方案二: 自己读取数据后,通过服务器端代码赋值给aspx上的script标签就行,注意<%%>这种代码不能放js文件里面,必须是在aspx页面里面才能解析运

Oracle数据库中对null值的排序及mull与空字符串的区别_oracle

order by排序之null值处理方法在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前.所以,为何分析数据的直观性方便性,我们需要对null的记录值进行相应处理. 这是四种oracle排序中NULL值处理的方法:1.使用nvl函数语法:Nvl(expr1, expr2)     若EXPR1是NULL,則返回

我现在从数据库中取到值到Table,但是我想把第一列 地二列(全部相同)合并,怎么用for循环啊?

问题描述 请问大神,我现在从数据库中取到值到Table,但是我想把第一列地二列(全部相同)合并,怎么用for循环啊? 解决方案 解决方案二:第一列地二列(全部相同),这什么意思,合并又是什么意思,两列相加吗?解决方案三:select语句加DISTINCT解决方案四:我要是展示这样的的解决方案五:我这样循环前两列是对的,加上地三列地三个循环就不对了,求大神指教啦.拜谢.<tableborder="0"class="listtable"style="te

如何处理Oracle数据库中的坏块问题

oracle|数据|数据库|问题   本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了.   一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction laye

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O

用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值

问题描述 用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值 2C 这是servlet: public class OrderListServlet extends HttpServlet { public void doGet(HttpServletRequest request HttpServletResponse response) throws IOException ServletException{ List<Order> list = new

解析Oracle数据库中的对象集合schema_java

搭建一个oracle,下面会有很多schema,每个schema下的数据都不影响. 感觉和mysql的库的概念很像,现在用的数据库管理系统其实也是这么划分的,mysql用的ip+port+库标识,oracle用ip+port+schema标识,平时还总听到一个实例的概念,我的理解就是实例就是一系列相关进程,代表了一个数据库服务.目前线上为了节省资源,常常把机器分成多个实例,用不同的端口号标识,每个实例上有多个schema. 旭哥跟我说的很形象,oracle一个实例上有对应多个库.mysql一个库

mybatis-Spring+Mybatis从两张表中取值并传值到页面 分页

问题描述 Spring+Mybatis从两张表中取值并传值到页面 分页 我写的Dao //根据登陆ID查询直属下属 (分页) List> findByid(String id,RowBounds rowBounds); 对应的mapper SELECT u.user_code,a.totasalar from c_user_info u JOIN c_attence_info aON u.id=a.relatedid where department=(SELECT department FRO