使用IDEA 进行 JDBC 获取数据库连接注意!!!

使用IDEA 进行 JDBC 获取数据库连接注意!!!

​ 今天获取数据库连接 getConnection 的时候,一直报错!因为之前用的是 ecplise 添加MySQL驱动,并且平时没有注意 配置文件jdbc.properties 路径 、驱动所在路径、类所在路径 三者的关系,今天就一直卡着……

今天血的教训来记录一下注意几点:

  • jdbc.properties 配置文件要和所用类在同一文件目录下,因为在代码中使用的加载配置文件流,所使用的 class.getClassLoader.getResourceAsStream(“jdbc.properties”) 要求是这样的。否则会出现获取不到流,报空指针异常!

  • 代码应当放在 工程 project 下(所以配置文件和代码都是放在工程的src下),不要放在 module 下,否则 com.mysql.jdbc.Driver 路径找不到。

  • url错误:我目前所写过的url有两种

    url=jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8
    url=jdbc:mysql://localhost:3306/jdbcstudy?characterEncoding=utf8
    

    本来写的是第二行,结果报错,可能是驱动版本(mysql-connector-java-5.1.7-bin.jar)的原因吧。

    如果哪位大佬有更好的见解,还请指导一下正确路径

撸代码

配置文件

user=root
password=123456
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8

获取连接

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

public class Test {
    
    

    public static void main(String[] args) throws Exception {
    
    
        //读取配置文件的信息,生成对应的流
        InputStream is = Test.class.getClassLoader().getResourceAsStream("jdbc.properties");
        Properties pros = new Properties();
        pros.load(is);
        String url=pros.getProperty("url");
        String user=pros.getProperty("user");
        String password=pros.getProperty("password");
        String driverClass=pros.getProperty("driverClass");
        //加载驱动
        Class.forName(driverClass);
        //获取连接
        Connection conn= DriverManager.getConnection(url, user, password);
        System.out.println(conn);
    }
}

猜你喜欢

转载自blog.csdn.net/DREAM_yao/article/details/112546122