为什么会报空指针异常呢?

为什么会报空指针异常呢?

package com.joey.jdbc.goods;


import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.joey.jdbc.common.DbUtils;
import com.joey.jdbc.goods.command.*;

import javax.sql.DataSource;
import java.io.FileInputStream;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;

public class GoodsData {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        Properties properties = new Properties();
        String propertyFile = GoodsData.class.getResource("/druid-config.properties").getPath();
        try {
            propertyFile = new URLDecoder().decode(propertyFile, "UTF-8");
            properties.load(new FileInputStream(propertyFile));
            DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
            conn = dataSource.getConnection();
            String sql = "select * from goods";
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();

            while (rs.next()) {
                Integer id = rs.getInt("id");
                String name = rs.getString("name");
                Float price = rs.getFloat("price");
                String desp = rs.getString("desp");
                Date create_time = rs.getDate("create_time");
                System.out.println(id + " " + name + " " + price + " " + desp + create_time);

            }


        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DbUtils.closeConnection(rs,pstmt,conn);
        }
    }
}

http://img1.sycdn.imooc.com//climg/5f085ce7092776cb14870341.jpghttp://img1.sycdn.imooc.com//climg/5f085d5b0929eb4607020663.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小尤 2020-08-27 17:46:14

同学你好,Mycheol同学回答的也是一种情况,如果同学还存在此问题,同学可尝试使用此方法进行解决。或将druid-config.properties文件移到到src目录下。如下所示:

http://img1.sycdn.imooc.com//climg/5f4780e409bd834003420176.jpg

祝学习愉快!


好帮手慕小尤 2020-07-11 10:29:14

同学你好,1. java.lang.NullPointerException---》空指针异常,出现原因:如果使用null调用方法,就会报出空指针异常。

2. 建议同学查看SQL语句是否可以查询到数据, 同学也可以查看每个字段中是否存在数据。

3. 建议同学反馈其他相关代码,便于老师进行测试。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • Mycheol #1
    他这里的空指针异常问题难道不是这个同学的druid-config.properties文件放在了src/com目录下所以找不到这个文件路径对应的字符串吗?他在获取配置文件路径字符串这一步应该这样写才对吧: String propertyFile = GoodsData.class.getResource("/com/druid-config.properties").getPath(); 老师可以看一下是不是这个问题?
    2020-08-27 16:38:34
  • 同学你好,也有可能是这个问题,是老师没有考虑全面。已重新整理,同学可进行查看。祝学习愉快!
    2020-08-27 17:47:29
  • 好的,谢谢老师
    2020-08-27 19:54:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师