[code="java"]
public Manuscript selectByMaid(int id) throws Exception {
Manuscript manuscript = (Manuscript) this.getHibernateTemplate().get(
Manuscript.class, id);
return manuscript;
}
[/code]
这段代码是运行成功的
[code="java"]
public void exportMan(int maid, String name, OutputStream os) throws Exception{
Manuscript m = (Manuscript) this.getHibernateTemplate().get(
Manuscript.class, maid);
}
[/code]
这两个方法是属于同一class里面的 但是报下列错误
[code="java"]
java.lang.NullPointerException
at com.kinrich.mediaStorage.daoimp.ManuscriptDaoImp.exportMan(ManuscriptDaoImp.java:99)
at com.kinrich.mediaStorage.action.ManuscriptAction.getDownloadFile(ManuscriptAction.java:266)
at org.apache.jsp.templates.downinfo_jsp._jspService(downinfo_jsp.java:93)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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 com.kinrich.mediaStorage.Interceptor.CheckInterceptor.doFilter(CheckInterceptor.java:38)
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:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:722)
[/code]
请问这个问题是出在哪里 我调试的时候显示的是this.getHibernateTemplate()为空 但是同一类里面 为什么会有两个结果呢?
把相关的代码当附件传下吧,不然还是没法帮你找出问题
[code="java"]1.一、find(String queryString);
2.
3. 示例:this.getHibernateTemplate().find("from bean.User");
4.
5. 返回所有User对象
6.
7.二、find(String queryString , Object value);
8.
9. 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
10.
11. 或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
12.
13. 返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)
14.
15.三、find(String queryString, Object[] values);
16.
17. 示例:String hql= "from bean.User u where u.name=? and u.password=?"
18.
19. this.getHibernateTemplate().find(hql, new String[]{"test", "123"});
20.
21. 返回用户名为test并且密码为123的所有User对象
22.
23.---------------------------------
24.
25.四、findByExample(Object exampleEntity)
26.
27. 示例:
28.
29. User u=new User();
30.
31. u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)
32.
33. u.setName("bb");
34.
35. list=this.getHibernateTemplate().findByExample(u,start,max);
36.
37. 返回:用户名为bb密码为123的对象
38.
39.五、findByExample(Object exampleEntity, int firstResult, int maxResults)
40.
41. 示例:
42.
43. User u=new User();
44.
45. u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)
46.
47. u.setName("bb");
48.
49. list=this.getHibernateTemplate().findByExample(u,start,max);
50.
51. 返回:满足用户名为bb密码为123,自start起共max个User对象。(对象从0开始计数)
52.
53.---------------------------------------------------
54.
55.六、findByNamedParam(String queryString , String paramName , Object value)
56.
57. 使用以下语句查询:
58.
59. String queryString = "select count(*) from bean.User u where u.name=:myName";
60.
61. String paramName= "myName";
62.
63. String value= "xiyue";
64.
65. this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
66.
67. System.out.println(list.get(0));
68.
69. 返回name为xiyue的User对象的条数
70.
71.七、findByNamedParam(String queryString , String[] paramName , Object[] value)
72.
73. 示例:
74.
75. String queryString = "select count(*) from bean.User u where u.name=:myName and u.password=:myPassword";
76.
77. String[] paramName= new String[]{"myName", "myPassword"};
78.
79. String[] value= new String[]{"xiyue", "123"};
80.
81. this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
82.
83. 返回用户名为xiyue密码为123的User对象
[/code]
看看我占得,你得学会看别人的弄成自己的
代码虽然是同一个类里的,但不代表调用这个代码的环境相同,调用者相同,所以结果也就可能不相同
看你的代码好像是
com.kinrich.mediaStorage.action.ManuscriptAction.getDownloadFile
去调用 的
你能把这代码相关的也贴出来吗,还有你执行成功的那个方法调用 的相关代码又是什么