首页新闻找找看学习计划

eclipse建表过程中的空指针异常

0
[已解决问题] 解决于 2017-07-27 09:44

package MysqlTest;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Properties;

public class ExecuteDDL {
private String driver;
private String url;
private String user;
private String pass;
public void initParam(String paramFile) throws Exception
{
Properties props=new Properties();
//使用Properties类来加载属性文件
props.load(new FileInputStream(paramFile));
driver=props.getProperty("driver");
url=props.getProperty("url");
user=props.getProperty("user");
pass=props.getProperty("pass");
}
public void createTable(String sql) throws Exception
{
Class.forName(driver);//加载驱动
try(
Connection conn=DriverManager.getConnection(url,user,pass);//获取数据库连接,使用Connection来创建一个Statment对象
Statement stmt=conn.createStatement())
{
stmt.executeUpdate(sql); //执行DDL,创建数据表
}
}
public static void main (String[] args) throws Exception
{
ExecuteDDL ed=new ExecuteDDL();
ed.initParam("src/MysqlTest/my.ini");
ed.createTable("create table jdbc_test"+"(jdbc_id int auto_increment primary key,"+"jdbc_name varchar(255),"+"jdbc_desc text);");
System.out.println("----建表成功----");
}
}

 

错误描述:

Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at MysqlTest.ExecuteDDL.createTable(ExecuteDDL.java:26)
at MysqlTest.ExecuteDDL.main(ExecuteDDL.java:38)

问题补充:

pass=props.getProperty("password");这个地方必须是password,然后我的文件配置propreties文件也要对应配置

耳朵嫁给了真正的谎的主页 耳朵嫁给了真正的谎 | 初学一级 | 园豆:195
提问于:2017-07-24 15:27
< >
分享
最佳答案
1

驱动加载都出问题了,输出一下 你从配置文件中获取的那些值是否正确。

奖励园豆:5
cooldamon | 菜鸟二级 |园豆:229 | 2017-07-24 17:43

好嘞,十分感谢。我解决我的问题了。主要是有一个地方打错了有没有提示,我还以为我的数据库连接问题,唉~

耳朵嫁给了真正的谎 | 园豆:195 (初学一级) | 2017-07-24 17:51
其他回答(2)
0

你的数据库连接 的 driver;url;user;pass;这四个属性是单独写了一个类吗??

长跑 | 园豆:11 (初学一级) | 2017-07-24 17:11

没有呀

0

感觉这种一般都是单词或者什么空格之内的问题==。

Lucia557 | 园豆:202 (菜鸟二级) | 2017-07-24 23:25

我是配置文件没打好,然后有个地方漏了一个字母。后来设置输出才发现的。

@耳朵嫁给了真正的谎: 嗯呢,所以就是些小错误。仔细一点儿就好啦

支持(0) 反对(0) Lucia557 | 园豆:202 (菜鸟二级) | 2017-07-27 09:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册