Cannot invoke"java.sql.Connection.createStatement()"because"qq1.My SQL connection.conn"is null
connection.conn"is null
空指针异常,获取不到连接对象。获取连接的地方,catch块中的异常打印出来,否则你看不到错误信息。
注意数据库版本和驱动包版本要一致。
是什么数据库,有没有加入jar包?参考:
public static void main(String[] args) {
//驱动
String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//连接字符串
//本机:127.0.0.1或者localhost
//端口:默认是1433
//databasename=数据库名称
//实例名称:如果是默认实例可以省略,具体看数据库登录界面服务器名称定
String url="jdbc:sqlserver://localhost\\SQL2005:1433;DatabaseName=Test";
//用户名
String user = "sa";
//密码
String password = "123456";
try {
//1.加载驱动
Class.forName(driver);
//2.连接数据库
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功.");
//3.创建Statement对象,该对象类似于数据库的查询分析器
// Statement stmt = conn.createStatement();
//4.返回执行结果
String sql = "select 班级编号 id,班级名称 from 班级表";
//查询数据用executeQuery函数
ResultSet rs = stmt.executeQuery(sql);
//5.处理结果集,查看所有班级数据
while(rs.next()) {
System.out.println("编号:"+rs.getInt(1)+",班级名称:" + rs.getString("班级名称"));
}
rs.next();
System.out.println("编号:"+rs.getInt(1)+",班级名称:" + rs.getString("班级名称"));
//6.关闭Statement对象,关闭ResultSet对象
rs.close();
stmt.close();
//7.关闭连接对象
conn.close();
}catch(Exception ex) {
ex.printStackTrace();
}
}