hql查询时出现空指针异常

代码:

 public Book findByBookNo(String bookNo) {
        // TODO Auto-generated method stub
        Session session = HibernateSessionFactory.getSession();
        String hql="from Book as book where book.bookNo=:bookNo";
        Query query =session.createSQLQuery(hql);
        query.setString("bookNo", bookNo);
        List<Book> books = query.list();
        HibernateSessionFactory.closeSession();
        if(books.size()>0){
            return books.get(0);
        }
        else{
            return null;
        }
    }

出现空指针异常异常如下:

 java.lang.NullPointerException
    com.Dao.BookDAOImpl.findByBookNo(BookDAOImpl.java:29)
    com.Service.BookServiceImpl.inputBook(BookServiceImpl.java:14)
    com.Action.BookInputAction.execute(BookInputAction.java:37)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:606)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs.

2个回答

不是这个问题,问题是 Query query =session.createSQLQuery(hql);这一句就出错误了

你的判断books为空是有问题的。
如果books为null时,books.size()就直接报错了,根本不会到else里去。
在判断时,最最重要的是先判断是否为null,而不是先调用方法(如size())

wohenni0931
wohenni0931 回复miaojian0620: 恩
4 年多之前 回复
miaojian0620
miaojian0620 回复wohenni0931: 是在from之前加个空格吗?
4 年多之前 回复
wohenni0931
wohenni0931 回复miaojian0620: hql语句中的from之前要有空格
4 年多之前 回复
wohenni0931
wohenni0931 回复miaojian0620: 配置文件中没有配session或者配置错误了
4 年多之前 回复
miaojian0620
miaojian0620 不是这个问题,问题是 Query query =session.createSQLQuery(hql);这一句就出错误了
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Query query =session.createSQLQuery(hql)查询时出现空指针异常
代码: ``` public Book findByBookNo(String bookNo) { // TODO Auto-generated method stub Session session = HibernateSessionFactory.getSession(); String hql="from Book as book where book.bookNo=:bookNo"; Query query =session.createSQLQuery(hql); //进行到这步就开始出错了 query.setString("bookNo", bookNo); List<Book> books = query.list(); HibernateSessionFactory.closeSession(); if(books.size()>0){ return books.get(0); } else{ return null; } } ``` 出现空指针异常异常如下: ``` java.lang.NullPointerException com.Dao.BookDAOImpl.findByBookNo(BookDAOImpl.java:29) com.Service.BookServiceImpl.inputBook(BookServiceImpl.java:14) com.Action.BookInputAction.execute(BookInputAction.java:37) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:606) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs. ```
Hibernate 查询出现空指针异常?
在用Hibernate进行数据关联查询时总是出现空指针异常, [code="java"] public List queryAll() throws Exception { List all = null; String hql = "FROM Emp"; Query q = this.session.createQuery(hql); all = q.list(); this.session.close(); return all; } [/code] 进行测试出现空指针异常,提示all = q.list();有错! 请问大家是否遇到过此类问题呢? 要怎么解决呢? [code="java"] log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment). log4j:WARN Please initialize the log4j system properly. Hibernate: select emp0_.empno as empno, emp0_.deptno as deptno1_, emp0_.ename as ename1_, emp0_.eage as eage1_, emp0_.esex as esex1_ from hibernate.emp emp0_ where emp0_.empno=? Exception in thread "main" java.lang.NullPointerException at org.hibernate.tuple.AbstractTuplizer.createProxy(AbstractTuplizer.java:249) at org.hibernate.persister.entity.BasicEntityPersister.createProxy(BasicEntityPersister.java:2831) at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:218) at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:163) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:79) at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:655) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:261) at org.hibernate.type.EntityType.resolve(EntityType.java:286) at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:105) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:530) at org.hibernate.loader.Loader.doQuery(Loader.java:436) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218) at org.hibernate.loader.Loader.doList(Loader.java:1593) at org.hibernate.loader.Loader.list(Loader.java:1577) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:844) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74) at org.zhg.impl.EmpDAOImpl.queryByEmpno(EmpDAOImpl.java:54) at org.zhg.test.EmpTest.main(EmpTest.java:20) [/code]
空指针异常怎么解决?
/** * 查询所有的记录数 * @param hql 查询条件 * @return 总记录数 */ public int getAllRowCount(String hql) { // TODO Auto-generated method stub return this.getHibernateTemplate().find(hql).size(); } 异常信息指向:return this.getHibernateTemplate().find(hql).size();这句话存在空指针异常 hql:hql = "from Article where users.id=" + userId; userId是从action中传进来的。 请问这个问题在哪里?
我用hibernateTemplate的find查询出现空指针异常
当查询的那一行数据的外键没有值时可以查得到,但外键有值时则报空指针异常,一下是hibernate的源码部分 public Number selectById(String id){ // TODO Auto-generated method stub String hql="from Number wherer id=?";//报错行 List<Number> list=hibTemplate.find(hql,id); if(list.size()>0){ return list.get(0); }else{ return null; } } 这里id是主键 一下是错误页面: javax.servlet.ServletException: java.lang.NullPointerException org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:518) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421) root cause java.lang.NullPointerException org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372) org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121) org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232) org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173) org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87) org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862) org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830) org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266) org.hibernate.type.EntityType.resolve(EntityType.java:303) org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116) org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842) org.hibernate.loader.Loader.doQuery(Loader.java:717) org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) org.hibernate.loader.Loader.doList(Loader.java:2145) org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) org.hibernate.loader.Loader.list(Loader.java:2024) org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375) org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308) org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153) org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106) org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849) org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372) org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840) org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836) com.etc.dao.NumberDAOHibernateTemplateImpl.selectById(NumberDAOHibernateTemplateImpl.java:19) com.etc.service.NumberServiceImpl.delNum(NumberServiceImpl.java:32) com.etc.action.NumberAction.deleteNumber(NumberAction.java:115)
HibernateTemplate空指针异常
使用hibernate模板查询报空指针异常 ``` List<Admin> list=this.getHibernateTemplate().find(hql); ``` 这行报错 配置如下 ![图片说明](https://img-ask.csdn.net/upload/201704/24/1493041886_8758.png) ![图片说明](https://img-ask.csdn.net/upload/201704/24/1493041897_541463.png)
java,请求出现空指针异常
## 控制台异常显示 1681496916525609________________1571436348402060 2017-6-9 9:43:07 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet riss2 threw exception java.lang.NullPointerException at cn.com.adtech.riss2.controller.platform.paper.PaperManagerController.metaform(PaperManagerController.java:224) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473) at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at cn.com.adtech.riss2.filter.jiaMiGouFilter.doFilter(jiaMiGouFilter.java:39) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at cn.com.adtech.riss2.filter.PaperLoginCheckFilter.doFilter(PaperLoginCheckFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) ## Java代码 / String deptOption = departementService.getDepartmentHtmlOption(ToolUnit.NullTo0(paper.getPpinPdepId())); String degreeOption = degreeService.getDegreeHtmlOption(ToolUnit.NullTo0(paper.getPpinPdegId())); //String subjectOption = resourceService.getSubjectOptions(ToolUnit.NullTo0(paper.getPpinRstyId()), 0L, "1"); String subjectOption = resourceService.getSubjectHtmlOption(0); Long teacherId = paper.getPpinSmanId(); System.out.println(teacherId+"________________"+paper.getPpinPdepId()); Long selectId = paper.getPpinPdepId(); //这一行报错 String teacherOption = teacherServce.getTeacherOption(selectId,teacherId); request.setAttribute("teacherOption", teacherOption); // request.setAttribute("deptOption", deptOption); request.setAttribute("degreeOption", degreeOption); request.setAttribute("subjectOption", subjectOption); session.setAttribute("paper", paper); request.setAttribute("submitStep", 2); return new ModelAndView("/platform/paper/updateMetaform"); } ## 数据执行 /** * 根据院系id获取审核导师html的select下拉列表 * @param 院系id * @param 若修改中导师已存在,则将该导师改为选中状态 * @return */ @Override public String getTeacherOption(long selectId,long teacherId) { String hql = "from SysManager sman where sman.smanType=" + SysManager.SMANTYPE_TEACHER +" and sman.smanDeptId="+selectId+ " order by sman.smanName asc"; List<SysManager> list = getHibernateTemplate().find(hql); if(list == null || list.size() < 1){ return ""; } System.out.println(teacherId+"_____________________"); StringBuffer buffer = new StringBuffer(""); SysManager sman = null; for(int i=0,s=list.size(); i < s; i++){ sman = list.get(i); if (teacherId > 0L && sman.getSmanId()==teacherId) { buffer.append("< option value='"+sman.getSmanId()+"' selected='selected' > "+sman.getSmanName()+" < /option > "); continue; } buffer.append("< option value='"+sman.getSmanId()+"' > "+sman.getSmanName()+"< /option >"); } String jsondata = buffer.toString(); list = null; buffer = null; return jsondata; } ## 说明 这个方法有两次调用,第一次做属于新增页面有一个选择导师的下拉列表,修改页面同样有,主要是为了获取列表,XML也是 配置了的,新增时能够进去,说明没有问题,修改进的是同一个方法结果报错,数据已展示,说明不是数据问题,在方法内打断点没反应,说明没有进,所以猜测是否因为(OncePerRequestFilter.java:76)没有配置字符集,求大神解决
麻烦大家帮我看看这个空指针异常应该怎么改?
BaseServiceImpl: /** * @param hql:传入的hql,可以带? * @param parameters:问号对应的参数数组 */ public List getResult(String hql, Object[] parameters) { // TODO Auto-generated method stub Query query = sessionFactory.getCurrentSession().createQuery(hql); //注入? if(parameters != null && parameters.length > 0){ for(int i = 0;i < parameters.length;i ++){ query.setParameter(i, parameters[i]); } } return query.list(); } ArticleServiceImpl: public PageBean queryForPage(int userId,int pageSize,int page){ final String hql = "from Article where users.id=" + userId; int allRow = getResult(hql,null).size(); //总记录数 int totalPage = PageBean.countTatalPage(pageSize,allRow); //总页数 final int offset = PageBean.countOffset(pageSize, page); //当前页开始记录 final int length = pageSize; //每页记录数 final int currentPage = PageBean.countCurrentPage(page); //当前页 List<Article> list = queryForPage(hql,offset,length); //把分页信息保存到bean当中 PageBean pageBean = new PageBean(); pageBean.setPageSize(pageSize); pageBean.setCurrentPage(currentPage); pageBean.setAllRow(allRow); pageBean.setTotalPage(totalPage); pageBean.setList(list); pageBean.init(); return pageBean; } 异常信息指示:getResult方法中Query query = sessionFactory.getCurrentSession().createQuery(hql);这句话有问题和ArticleServiceImpl中的int allRow = getResult(hql,null).size(); //总记录数这句话有问题。 请大家帮我看看这个空指针异常怎么改?
LayoutInflater.from(context) 报空指针异常
这是打印出来的Log: Process: com.hql.rssr, PID: 1905 java.lang.NullPointerException at android.view.LayoutInflater.from(LayoutInflater.java:211) at com.hql.Adapter.FragmentExpanableListViewAdapter.<init>(FragmentExpanableListViewAdapter.java:32) at com.hql.fragment.TechnologyFragment$2.showListView(TechnologyFragment.java:94) at com.hql.fragment.TechnologyFragment$2.handleMessage(TechnologyFragment.java:81) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5045) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) 报错的是这行代码:public FragmentExpanableListViewAdapter(Context context, ArrayList<GroupTitle> Gp, Map<Integer,List<RssItem>> ChildMap) { mInflater = LayoutInflater.from(context); //是这里。。。。。 this.Gp = Gp; this.ChilderMap = ChildMap; list = new ArrayList<RssItem>(); } 我在碎片里面调用的时候是这样子的: adapter = new FragmentExpanableListViewAdapter(getActivity(), title, list); 能运行,数据的加载和显示也没问题,就是在页面切换的时候会偶尔报这个错。我想问一下 这会不会是和多个碎片共用一个适配器有关,因为碎片的布局的样式都一样,只是加载的数据类型不一样 adapter = new FragmentExpanableListViewAdapter(getActivity(), title, list); (就是像这行代码一样 这是里面的title 和list 不一样而已) 我就直接用多个碎片对应一个适配器了 这是怎么回事呢?/d:
空指针异常
<pre name="code" class="java"></pre> <pre name="code" class="java">请各位帮我看看问题到底出在哪里</pre> <pre name="code" class="java">2011-01-25 10:25:00,296 WARN [org.apache.struts.action.RequestProcessor] - Unhandled Exception thrown: class java.lang.NullPointerException 2011-1-25 10:25:00 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet action threw exception java.lang.NullPointerException at main.com.rpc.servlet.TestLogonAction.doCheckUser(TestLogonAction.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270) at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:595) Action类 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import main.com.rpc.ajaxservice.AjaxServiceCheckUser; import main.com.rpc.servlet.pojo.Userconfiginfo; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; public class TestLogonAction extends DispatchAction { private AjaxServiceCheckUser checkUserService; public ActionForward doCheckUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { boolean flag = false; String name = request.getParameter("name"); Userconfiginfo userConfig = new Userconfiginfo(); userConfig.setLOGINACCOUNT(name); if (!"".equals(name) &amp;&amp; name != null) { flag = checkUserService.doCheckUser(userConfig); } return null; } public AjaxServiceCheckUser getCheckUserService() { return checkUserService; } public void setCheckUserService(AjaxServiceCheckUser checkUserService) { this.checkUserService = checkUserService; } } Service类 package main.com.rpc.ajaxservice; import main.com.rpc.ajaxdao.AjaxDaoCheckUser; import main.com.rpc.servlet.pojo.Userconfiginfo; public class AjaxServiceCheckUser { private AjaxDaoCheckUser ajaxdaoCheckUse; public boolean doCheckUser(Userconfiginfo config) { boolean flag = false; try{ flag = ajaxdaoCheckUse.doCheckUser(config); }catch(Exception e){ e.printStackTrace(); } return flag; } public AjaxDaoCheckUser getAjaxdaoCheckUse() { return ajaxdaoCheckUse; } public void setAjaxdaoCheckUse(AjaxDaoCheckUser ajaxdaoCheckUse) { this.ajaxdaoCheckUse = ajaxdaoCheckUse; } } Dao类 package main.com.rpc.ajaxdao; import java.sql.SQLException; import java.util.List; import main.com.rpc.servlet.pojo.Userconfiginfo; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class AjaxDaoCheckUser extends HibernateDaoSupport { private static final Log log = LogFactory.getLog(AjaxDaoCheckUser.class); private Session session = null; private Query qr = null; private List&lt;Userconfiginfo&gt; list = null; public boolean doCheckUser(Userconfiginfo config) throws SQLException { boolean flagResult = false; String hql = " From Userconfiginfo Where LOGINACCOUNT=?"; try { // String[] userInfo = new String[2]; userInfo[0] = config.getLOGINACCOUNT(); System.out.println(this.getHibernateTemplate()); List userList = this.getHibernateTemplate().find(hql, userInfo); if (userList.size() &gt; 0) { flagResult = true; } } catch (Exception e) { log.error("查询名字出错", e); throw new SQLException("查询名字出错"); } finally { try { if (session != null) { session.close(); } } catch (Exception e) { throw new SQLException("查询名字出错"); } } return flagResult; } } struts配置文件 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"&gt; &lt;struts-config&gt; &lt;form-beans&gt; &lt;form-bean name="StuInfoForm" type="main.com.rpc.web.StuInfoForm"&gt;&lt;/form-bean&gt; &lt;form-bean name="userForm" type="main.com.rpc.servlet.UserForm"&gt;&lt;/form-bean&gt; &lt;/form-beans&gt; &lt;action-mappings&gt; &lt;action path="/login" parameter="method" name="StuInfoForm" type="org.springframework.web.struts.DelegatingActionProxy"&gt; &lt;forward name="query" path="/query.jsp"&gt;&lt;/forward&gt; &lt;forward name="toAdd" path="/add.jsp"&gt;&lt;/forward&gt; &lt;forward name="toModify" path="/modify.jsp"&gt;&lt;/forward&gt; &lt;/action&gt; &lt;action attribute="userForm" input="/ajax.jsp" name="userForm" parameter="operate" path="/user" scope="request" type="main.com.rpc.servlet.TestLogonAction"&gt; &lt;forward name="login" path="/login.jsp" /&gt; &lt;/action&gt; &lt;/action-mappings&gt; &lt;controller processorClass="main.com.rpc.web.RequestAction"&gt;&lt;/controller&gt; &lt;message-resources parameter="main.com.rpc.web.ApplicationResources" /&gt; &lt;/struts-config&gt; spring 配置文件 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"&gt; &lt;bean id="mydb" class="org.apache.commons.dbcp.BasicDataSource"&gt; &lt;property name="driverClassName"&gt; &lt;value&gt;oracle.jdbc.pool.OracleConnectionPoolDataSource&lt;/value&gt; &lt;/property&gt; &lt;property name="url"&gt; &lt;value&gt;jdbc:oracle:thin:@localhost:1521:orcl&lt;/value&gt; &lt;/property&gt; &lt;property name="username"&gt; &lt;value&gt;leadermis&lt;/value&gt; &lt;/property&gt; &lt;property name="password"&gt; &lt;value&gt;leadermis&lt;/value&gt; &lt;/property&gt; &lt;/bean&gt; &lt;!-- 事务AOP --&gt; &lt;!-- 配置sessionFactory &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;property name="configLocation" value="/WEB-INF/classes/main/hibernate.cfg.xml"&gt; &lt;/property&gt; &lt;/bean&gt; --&gt; &lt;bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;property name="dataSource"&gt; &lt;ref bean="mydb" /&gt; &lt;/property&gt; &lt;property name="hibernateProperties"&gt; &lt;props&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.OracleDialect&lt;/prop&gt; &lt;/props&gt; &lt;/property&gt; &lt;property name="mappingResources"&gt; &lt;list&gt; &lt;value&gt;main/com/rpc/persist/user.hbm.xml&lt;/value&gt; &lt;value&gt;main/com/rpc/servlet/pojo/userconfiginfo.hbm.xml&lt;/value&gt; &lt;/list&gt; &lt;/property&gt; &lt;/bean&gt; &lt;bean id="StuInfoDAO" class="main.com.rpc.persist.StuInfoDAO"&gt; &lt;property name="sessionFactory"&gt; &lt;ref bean="mySessionFactory" /&gt; &lt;/property&gt; &lt;/bean&gt; &lt;!-- 实现类 --&gt; &lt;bean id="StuInfoHandler" class="main.com.rpc.biz.StuInfoHandlerImpl"&gt; &lt;property name="stuinfoDao" ref="StuInfoDAO"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;!-- action --&gt; &lt;bean name="/login" class="main.com.rpc.web.StuInfoAction"&gt; &lt;property name="stuInfoHandler" ref="StuInfoHandler"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;bean id="ajaxDao" class="main.com.rpc.ajaxdao.AjaxDaoCheckUser"&gt; &lt;property name="sessionFactory" &gt; &lt;ref bean="mySessionFactory"/&gt; &lt;/property&gt; &lt;/bean&gt; &lt;bean id="ajaxService" class="main.com.rpc.ajaxservice.AjaxServiceCheckUser"&gt; &lt;property name="ajaxdaoCheckUse" ref="ajaxDao"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;bean name="/user" class="main.com.rpc.servlet.TestLogonAction"&gt; &lt;property name="checkUserService" ref="ajaxService"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;!-- 配置事务管理器 --&gt; &lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt; &lt;property name="sessionFactory" ref="mySessionFactory"&gt;&lt;/property&gt; &lt;/bean&gt; &lt;!-- 配置事务的传播特性 --&gt; &lt;tx:advice id="txAdvice" transaction-manager="transactionManager"&gt; &lt;tx:attributes&gt; &lt;tx:method name="add*" propagation="REQUIRED"/&gt; &lt;tx:method name="del*" propagation="REQUIRED"/&gt; &lt;tx:method name="modify*" propagation="REQUIRED"/&gt; &lt;tx:method name="*" read-only="true"/&gt; &lt;/tx:attributes&gt; &lt;/tx:advice&gt; &lt;!-- 哪些方法参与事务 --&gt; &lt;aop:config&gt; &lt;aop:pointcut id="method" expression="execution(* com.rpc.biz.*.*(..))"/&gt; &lt;aop:advisor advice-ref="txAdvice" pointcut-ref="method"/&gt; &lt;/aop:config&gt; &lt;/beans&gt;</pre> <p> </p>
hibernate数据库操作,总是报空指针异常
if (user.getUsername().length() > 0) { String hql = "select * from user where username = : username "; query = ses.createQuery(hql); //这一行总是报错,是不是查不到数据库有东西 query.setParameter("username",username); List User rt = query.list(); if(rt!=null){ req.setAttribute("register_error", "用户已经注册了!"); return "error"; } }
SpringMVC+hibernate4+Extjs4.2+mysql(空指针异常)
@ResponseBody @RequestMapping("/daochu.do") public Object daochu(String id,HttpServletRequest request)throws Exception{ String ids=id.replaceAll(",", "','"); //System.out.println(ids); //根据两个id同时查询两条语句 String hql="FROM WorkOrders WHERE id IN ('"+ids+"')"; //String hql="FROM WorkOrders w where w.id=?"; //System.out.println(ids); System.out.println(id); Query query=sessionFactory.openSession().createQuery(hql); //query.setString(0, id); List list=query.list(); Iterator i=list.iterator(); Workbook wb=new HSSFWorkbook(); Sheet sheet=wb.createSheet("第一个sheet页"); int m=0; int n=0; while(i.hasNext()){ WorkOrders user = (WorkOrders) i.next(); Row row=sheet.createRow(m); Cell cell1=row.createCell(0); Cell cell2=row.createCell(1); Cell cell3=row.createCell(2); Cell cell4=row.createCell(3); Cell cell5=row.createCell(4); Cell cell6=row.createCell(5); Cell cell7=row.createCell(6); cell1.setCellValue(user.getId()); cell2.setCellValue(user.getFailuretime()); cell3.setCellValue(user.getFailureaddress()); cell4.setCellValue(user.getRepairtime()); cell5.setCellValue(user.getMaintenanceman()); cell6.setCellValue(user.getCompletion()); cell7.setCellValue(user.getFailurecontent()); m++; } String fileName="sss.xls"; String path=request.getSession().getServletContext().getRealPath("/")+"file"+"\\"+fileName;// .servletContext.getRealPath(""); System.out.println(path); //在该位置导出excel文件 //F:\lr_space\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\SpringMVC2\file FileOutputStream fileOut=new FileOutputStream(path); wb.write(fileOut); fileOut.close(); return "success"; } ---------- 前台的页面Extjs export_Item:function(button){ var grid=button.up('globalStatisticsView') var data =grid.getSelectionModel().getSelection(); if(data.length==0){ Ext.Msg.alert("提示","您至少选择一条数据") }else{ //1.先得到ID的数据(name) var st=grid.getStore(); var ids=[]; Ext.Array.each(data,function(record){ ids.push(record.get('id')); }); //2.后台操作 Ext.Ajax.request({ params:{ids:ids.join(",")}, url:'gdgl/daochu.do?id='+ ids, method:'POST', timeout:2000, async:false, success:function(response,opts){ Ext.Array.each(data,function(record){ st.getById(record); //st.removeAll(record); }); } }); Ext.Msg.alert("报表成功导出","<font color='green'>报表导出成功!谢谢!<font>"); } }, ---------- 报出的异常错误是: 5,6 十二月 25, 2013 10:57:36 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet spring threw exception java.lang.NullPointerException at cn.com.cisec.hnjt.control.WorkOrdersController.daochu(WorkOrdersController.java:114) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838) at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) ---------- 还有火狐调试的时候发现POST传值去后台时会发生 POST daochu.do?id=5,6 500 Internal Server Error 127.0.0.1:8080 3.4 KB 127.0.0.1:8080
hibernate hql
<p>String sql="from addBI where groupid=?";<br /> Query query=s.createQuery(sql);<br /> query.setInteger(0,idd);<br /> List&lt;addBI&gt; list=query.list();<br /> for(addBI bi:list){System.out.print(bi.getLjbh());}</p> <p> </p> <p>我用这个查询为什么一直出现空指针异常  其实这个在数据库中是有数据的。。而且String sql="from addBI ";我直接这样查  也是空指针异常。不知道为什么,但是我用另外一个简单的例子来测试这样的SQL确是正确的。。只是另外的和这个用的不是一个数据库和表。。我现在的这个用的是oracle 大家知道的帮帮我啊 谢谢啦</p>
Spring事物是不是对于HQL无效?
我的Spring事物定义到impl 然后里面调用了两个dao方法 第一个方法是使用hql删除信息 第二个方法是使用save方法保存信息 两个方法间调用了一个判断,现在判断那爆空指针异常,本来该全部回滚,但是删除却已经执行了,这是什么情况啊?
怪异的getHibernateTemplate().find()空指针问题
这个问题很怪.我在Junit下测试我的代码时,getHibernateTemplate().find()没有一点问题.当我把它放到Struts1.2的action下就报空指针异常.后来我改用Hibernate的session, 在query的时候还是出现同样的问题.关键只是在action中才出现,自己的测试代码中不出现.希望大家帮我看看. 异常如下: exception java.lang.NullPointerException org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372) org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121) org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232) org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173) org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87) org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862) org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830) org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266) org.hibernate.type.EntityType.resolve(EntityType.java:303) org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116) org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842) org.hibernate.loader.Loader.doQuery(Loader.java:717) org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) org.hibernate.loader.Loader.doList(Loader.java:2145) org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) org.hibernate.loader.Loader.list(Loader.java:2024) org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375) org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308) org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153) org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106) org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849) org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372) org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840) org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836) com.ace.core.dao.impl.PersonDaoBean.getTPersonByName(PersonDaoBean.java:110) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy7.getTPersonByName(Unknown Source) com.ace.core.business.impl.PersonManagerBean.login(PersonManagerBean.java:110) com.ace.core.struts.action.LoginAction.execute(LoginAction.java:53) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) javax.servlet.http.HttpServlet.service(HttpServlet.java:710) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 这是我的applicationContext.xml: [code="xml"] <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"> <value>hibernate.cfg.xml </value> </property> </bean> <!--事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- Dao --> <bean id="personDao" class="com.ace.core.dao.impl.PersonDaoBean"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> <property name="roleDao"> <ref local="roleDaoProxy"/> </property> </bean> <bean id="roleDao" class="com.ace.core.dao.impl.RoleDaoBean"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- Proxy --> <bean id="personDaoProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <!--实际操作数据的类 --> <property name="target"> <ref local="personDao"/> </property> <property name="transactionAttributes"> <props> <prop key="create*">PROPAGATION_REQUIRED </prop> <prop key="delete*">PROPAGATION_REQUIRED </prop> <prop key="update*">PROPAGATION_REQUIRED </prop> <prop key="change*">PROPAGATION_REQUIRED </prop> <prop key="get*">PROPAGATION_REQUIRED,readOnly </prop> </props> </property> </bean> <bean id="roleDaoProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <!--实际操作数据的类 --> <property name="target"> <ref local="roleDao"/> </property> <property name="transactionAttributes"> <props> <prop key="create*">PROPAGATION_REQUIRED </prop> <prop key="delete*">PROPAGATION_REQUIRED </prop> <prop key="update*">PROPAGATION_REQUIRED </prop> <prop key="change*">PROPAGATION_REQUIRED </prop> <prop key="get*">PROPAGATION_REQUIRED,readOnly </prop> </props> </property> </bean> <!-- Manager --> <bean id="personManager" class="com.ace.core.business.impl.PersonManagerBean"> <property name="personDao"> <ref local="personDaoProxy"/> </property> <property name="roleDao"> <ref local="roleDaoProxy"/> </property> </bean> </beans> [/code] PerManagerBean的Login方法: [code="java"] public Person login(String name, String password) { TPerson tPerson = personDao.getTPersonByName(name); String md5Password = ""; try { md5Password = MD5HashUtil.hashCode(password); if(!(tPerson.getPassword().equals(md5Password))){ return null; } TRole tRole = tPerson.getTRole(); if(tRole.getId() == 2){ AdminBean admin = getAdminResouce(); admin.setTPerson(tPerson); return admin; }else if(tRole.getId() == 3){ UserBean user = getUserResouce(); user.setTPerson(tPerson); return user; }else if(tRole.getId() == 1){ SuperAdminBean superAdmin = getSuperAdminResouce(); superAdmin.setTPerson(tPerson); return superAdmin; } } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } [/code] PersonDaoBean的getTPersonByName方法: [code="java"] public TPerson getTPersonByName(String name){ List list = getHibernateTemplate().find("from TPerson tp where tp.name=?",name); if(list.size() != 0){ TPerson tPerson = (TPerson) list.get(0); return tPerson; }else return null; } [/code]
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
我在支付宝花了1分钟,查到了女朋友的开房记录!
在大数据时代下,不管你做什么都会留下蛛丝马迹,只要学会把各种软件运用到极致,捉奸简直轻而易举。今天就来给大家分享一下,什么叫大数据抓出轨。据史料证明,马爸爸年轻时曾被...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
使用 Python 和百度语音识别生成视频字幕
文章目录从视频中提取音频根据静音对音频分段使用百度语音识别获取 Access Token使用 Raw 数据进行合成生成字幕总结 从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFileClip(video_file) video.audio.write_...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
Python全栈 Linux基础之3.Linux常用命令
Linux对文件(包括目录)有很多常用命令,可以加快开发效率:ls是列出当前目录下的文件列表,选项有-a、-l、-h,还可以使用通配符;c功能是跳转目录,可以使用相对路径和绝对路径;mkdir命令创建一个新的目录,有-p选项,rm删除文件或目录,有-f、-r选项;cp用于复制文件,有-i、-r选项,tree命令可以将目录结构显示出来(树状显示),有-d选项,mv用来移动文件/目录,有-i选项;cat查看文件内容,more分屏显示文件内容,grep搜索内容;>、>>将执行结果重定向到一个文件;|用于管道输出。
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共3526字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
强烈推荐10本程序员必读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
非典逼出了淘宝和京东,新冠病毒能够逼出什么?
loonggg读完需要5分钟速读仅需 2 分钟大家好,我是你们的校长。我知道大家在家里都憋坏了,大家可能相对于封闭在家里“坐月子”,更希望能够早日上班。今天我带着大家换个思路来聊一个问题...
立即提问