damiean
2012-03-13 18:33
浏览 268
已采纳

this.getHibernateTemplate() 空指针

[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()为空 但是同一类里面 为什么会有两个结果呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • suziwen 2012-03-14 09:42
    已采纳

    把相关的代码当附件传下吧,不然还是没法帮你找出问题

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • long13131462101 2012-03-13 20:09

    [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]

    评论
    解决 无用
    打赏 举报
  • long13131462101 2012-03-13 20:10

    看看我占得,你得学会看别人的弄成自己的

    评论
    解决 无用
    打赏 举报
  • suziwen 2012-03-13 20:33

    代码虽然是同一个类里的,但不代表调用这个代码的环境相同,调用者相同,所以结果也就可能不相同
    看你的代码好像是
    com.kinrich.mediaStorage.action.ManuscriptAction.getDownloadFile
    去调用 的
    你能把这代码相关的也贴出来吗,还有你执行成功的那个方法调用 的相关代码又是什么

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题