微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java-在Spring MVC 4中插入约束外键

我有两列的表格如下

 Field         | Type    | Null | Key | Default | Extra          |
+---------------+---------+------+-----+---------+----------------+
| hakemus_id    | int(11) | NO   | PRI | NULL    | auto_increment |
| fk_duuni_id   | int(11) | NO   | MUL | NULL    |                |
| fk_ehdokas_id | int(11) | NO   | MUL | NULL    |               |

我在道类中有这样的插入方法

public void insertHakemus(Hakemus hakemus) {
        String sql="insert into hakemus(fk_duuni_id, fk_ehdokas_id) values(?,?)";
        int ehdokas_id= hakemus.getEhdokas_id();
        int duuni_id = hakemus.getDuuni_id();
        Object[] ob = new Object[]{duuni_id,ehdokas_id};
        jdbcTemplate.update(sql, ob);

    }

在控制器中,我通过使用注释@RequestParam从视图获取参数,以从视图获取duuni_id和ehdokas_id

@RequestMapping(value="sendCV.do", method=RequestMethod.POST)
    public String receiveCV(@RequestParam(value="duuni_id") Integer duuni_id,@RequestParam(value="ehdokas_id") Integer ehdokas_id, @modelattribute(value="ehdokas") EhdokasImpl ehdokas, Model model){
        Hakemus hakemus = new HakemusImpl();
        hakemus.setEhdokas_id(ehdokas_id);
        hakemus.setDuuni_id(duuni_id);
        System.out.println(duuni_id);
        System.out.println(ehdokas_id);
        if(!ehdokas_id.equals(0) && !duuni_id.equals(0)){
            ehdokasdao.editEhdokas(ehdokas);
            hakemusdao.insertHakemus(hakemus);
            return "redirect:tyopaikat.do";
        }

我使用两个系统打印机检查duuni_id和ehdokas_id是否为null,得到的结果还可以.这意味着参数值已成功从View传递到Controller.但是,当我运行此代码时,在insertHakemus()方法中出现错误java.lang.NullPointerException,有人有任何想法吗?

堆栈跟踪

Apr 13, 2016 7:10:16 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/vjb.de] is completed
6
1
Apr 13, 2016 7:12:16 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [vietjob] in context with path [/vjb.de] threw exception [Request processing Failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException
    at vjb.de.vietjob.dao.hakemusDAO.HakemusDaoImpl.insertHakemus(HakemusDaoImpl.java:29)
    at vjb.de.vietjob.controller.HakemusController.receiveCV(HakemusController.java:114)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.springframework.web.method.support.invocableHandlerMethod.invoke(invocableHandlerMethod.java:214)
    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:748)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
    at org.springframework.web.servlet.dispatcherServlet.dodispatch(dispatcherServlet.java:945)
    at org.springframework.web.servlet.dispatcherServlet.doService(dispatcherServlet.java:876)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:833)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

豆类

package vjb.de.vietjob.bean.hakemus;

public class HakemusImpl implements Hakemus {
      private int hakemus_id;
      private int duuni_id;
      private int ehdokas_id;
    public int getHakemus_id() {
        return hakemus_id;
    }
    public void setHakemus_id(int hakemus_id) {
        this.hakemus_id = hakemus_id;
    }
    public int getDuuni_id() {
        return duuni_id;
    }
    public void setDuuni_id(int duuni_id) {
        this.duuni_id = duuni_id;
    }
    public int getEhdokas_id() {
        return ehdokas_id;
    }
    public void setEhdokas_id(int ehdokas_id) {
        this.ehdokas_id = ehdokas_id;
    }


}

解决方法:

请检查您的jdbctemplate,它可能为null.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐