IDEA部署JDBC时出现的异常
以下是我个人所尝试从而得到的解决方案,
若有不正确的地方请告知,谢谢!
- 问题
- 完成任务
1. 基本环境:
IDEA版本: 2020.2
Tomcat版本: 7.0.108
mysql驱动版本: "mysql-connector-java-5.1.7-bin.jar"
数据库连接池版本: "druid-1.0.9.jar" 【阿里巴巴旗下】
2. 异常目录:
异常信息: "java.lang.NullPointerException"
异常信息: "java.sql.SQLException"
3. 异常信息:
3.1 异常信息:java.lang.NullPointerException
java.lang.NullPointerException: inStream parameter is null
at java.base/java.util.Objects.requireNonNull(Objects.java:246)
at java.base/java.util.Properties.load(Properties.java:365)
at com.myself.utils.JdbcUtils.<clinit>(JdbcUtils.java:35)
3.1.1 问题原因:
问题代码:
Properties properties = new Properties();
//读取jdbc.properties属性配置文件
InputStream inputStream = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc11.properties");
问题原因:
"jdbc11.properties"文件找不到。或者文件文件没有内容
3.1.2 解决方案:
添加内容到jdbc11.properties配置文件中。
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/book
username=root
password=yun15813095304
initialSize=5
maxActive=10
maxWait=3000
3.2 异常信息: java.sql.SQLException
"时间" com.alibaba.druid.pool.DruidDataSource error
严重: init datasource error
java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)
"时间" com.alibaba.druid.pool.DruidDataSource error
严重: dataSource init error
java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)
"时间" com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)
3.2.1 问题原因:
问题代码:
Properties properties = new Properties();
//读取jdbc.properties属性配置文件
InputStream inputStream = JdbcUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
//从流中加载数据
properties.load(inputStream);
//创建 数据库连接池
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
System.out.println(dataSource.getConnection());
问题原因:
"dataSource.getConnection()" 时,"jdbc.properties"配置文件的配置内容不正确导致的。
3.2.1 解决方案:
正确配置 “jdbc.properties” 文件。
username=mysql用户名
password=mysql密码
url=jdbc:mysql://ip:port/DataBaseName
driverClassName=com.mysql.jdbc.Driver
initialSize=5
maxActive=10
maxWait=3000
maxIdle=8
minIdle=3
PS :
特别注意配置文件中的 "username" 和 "driverClassName" ,
而不是 "user" 和 "driverClass" 。
该目录后续会更新更多!!!