qq_40619811 2022-05-19 21:19 采纳率: 89.8%
浏览 345
已结题

springboot+jdbcTemplate出现空指针错误

你好,我使用springboot的时候,使用的是jdbcTemplate(mybatis太麻烦,不用了),在执行查询语句时,出现了空指针错误,我的IDEA报的空指针错误是这样的
java.lang.NullPointerException: null
这是为什么呢?
附代码
bean代码

package com.example.demo.bean;

public class Cangpin {
    private long xuhao;
    private String path2;

    public String getPath2() {
        return path2;
    }

    public void setPath2(String path2) {
        this.path2 = path2;
    }

    private String sys;

    public long getXuhao() {
        return xuhao;
    }

    public void setXuhao(long xuhao) {
        this.xuhao = xuhao;
    }



    public String getSys() {
        return sys;
    }

    public void setSys(String sys) {
        this.sys = sys;
    }

    public String getCangpinname() {
        return cangpinname;
    }

    public void setCangpinname(String cangpinname) {
        this.cangpinname = cangpinname;
    }

    public double getYuanjia() {
        return yuanjia;
    }

    public void setYuanjia(double yuanjia) {
        this.yuanjia = yuanjia;
    }

    public double getXianjia() {
        return xianjia;
    }

    public void setXianjia(double xianjia) {
        this.xianjia = xianjia;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    private String cangpinname;
    private double yuanjia;
    private double xianjia;
    private int num;
}

这是controller代码

package com.example.demo.controller;

import com.example.demo.bean.Cangpin;
import com.example.demo.dao.CangpinDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class CangpinController {
    @Autowired
    private CangpinDao cpDao;
    @RequestMapping("/save")
    public String getCpDao() {
        Cangpin cp=new Cangpin();
        cp.setXuhao(1);
        cp.setPath2("da");
        cp.setSys("ss");
        cp.setCangpinname("银币");
        cp.setYuanjia(188.0);
        cp.setXianjia(18.0);
        cp.setNum(8844);
        cpDao.save(cp);
        return "插入成功";
    }
    @RequestMapping("/check")
    public void getCheck()
    {
        JdbcTemplate jdbcTemplate=null;
        String sql="select * from cangpin where xuhao =?";
        Cangpin cp = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<Cangpin>(Cangpin.class),1);
        System.out.println(cp.getCangpinname());
    }
}


这是DAO层代码

package com.example.demo.dao;

import com.example.demo.bean.Cangpin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.ArrayList;


@Repository
public class CangpinDao {
    @Resource(name="jdbcTemplate")
    @Autowired
    private JdbcTemplate jdbcTemplate;
    public void save(Cangpin cangpin){
        jdbcTemplate.update("insert into cangpin(xuhao,path2,sys,cangpinname,yuanjia,xianjia,num) values (?,?,?,?,?,?,?)",
                cangpin.getXuhao(),cangpin.getPath2(),cangpin.getSys(),cangpin.getCangpinname(),
                cangpin.getYuanjia(),cangpin.getXianjia(),cangpin.getNum());
    }
}

我启动springboot,是能够正常启动的,但是输入相应的地址路径,就会出现空指针异常,这是为什么呢?

  • 写回答

2条回答 默认 最新

  • 憨憨撸码 2022-05-20 09:53
    关注

    getCheck 方法的jdbcTemplate是个空对象,怎么可能调到方法,将JdbcTemplate jdbcTemplate提出方法外,进行自动注入

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月11日
  • 已采纳回答 6月3日
  • 创建了问题 5月19日

悬赏问题

  • ¥20 qt中connect两个signal
  • ¥20 pix2pixHD运行测试命令时出现数据类型错误无法反向传播的问题
  • ¥15 python处理Excel符合条件的行自动填写数据分类
  • ¥15 汇编hook举例并讲解(通俗易懂,学习用)
  • ¥20 用c++语言模拟键盘电子琴设计
  • ¥15 STM32cubemx生成keil工程,有问题与正常的情况不同,求解!
  • ¥15 如何自动点击银行app的安全键盘,实现密码自动输入
  • ¥15 关于四边形重叠的问题
  • ¥15 用verilog语言设计一个简易的八音符电子琴,可通过按键输入来控制音响。演奏时可以选择是手演奏(由键盘输入)或自动演奏已存入的乐曲。能够自动演奏多首乐曲,且每首乐曲可重复演奏
  • ¥15 sap gui脚本每次到导出Excel的时候就停住不动。不会另存为。