qq_42002361 2019-06-25 16:48 采纳率: 66.7%
浏览 376
已结题

我要疯了,写个DBUTils连接池这么难?调用配置文件测试连接报noullpointerException

如题,初学者的我想写个DBUTils连接池却接连报错"noullpointException",我用断点
调试发现是Class.forname(driverClass)里的数据是noull
我到网上找答案,都说是mysql驱动包没放对,我又另外找教程然后老老实实照着教程做,但是还是这个问题。
我把我的配置贴一下,请各位指出错误:
这是我的工程目录
图片说明
这是我的配置文件

   url=jdbc:mysql://localhost:3306/mybase

    user=root

    password=123

    driverClass=com.mysql.jdbc.Driver

把工具类也贴一下吧

package com.study_01;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class JDBCTest {
     //定义全局变量
    private static String url = "jdbc:mysql://localhost:3306/mybase";
    private static String user = "root";
    private static String password = "123";
    private static String driverClass = "com.mysql.jdbc.Driver";
    //读取配置文件内容,放在静态代码块中就行,因为只需要加载一次就可以了
    static{
        try{
            Properties props = new Properties();
            //使用类路径加载的方式读取配置文件
            //读取的文件路径要以“/”开头,因为如果使用“.”的话,当部署到服务器上之后就找不到文件了,使用“/”开头会直接定位到工程的src路径下
            InputStream in = JDBCTest.class.getResourceAsStream("database.properties");
            //加载配置文件
            props.load(in);
            //读取配置文件信息
            url = props.getProperty("url");
            user = props.getProperty("user");
            password = props.getProperty("password");
            String driverClass = props.getProperty("driverClass");
            //注册驱动程序
            Class.forName(driverClass);
        }catch(Exception e){
            e.printStackTrace();
            System.out.println("驱动程序注册失败!!!");
        }
    }
    //获取连接对象Connection
    public static Connection getConnection(){
        try{
            return DriverManager.getConnection(url,user,password);
        }catch(SQLException e){
            e.printStackTrace();
            //跑出运行时异常
            throw new RuntimeException();
        }
    }
}
  • 写回答

4条回答 默认 最新

  • let_Me_Pass 2019-06-25 16:57
    关注

    1.右键项目 build path
    2.在libraries栏 add library
    3.选择 user library
    4.user Library
    5.new
    6.随便取个名字 然后把包加进去

    评论

报告相同问题?

悬赏问题

  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了