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

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日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同