import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
public class SelectDBDemo
{
public static void main(String[] args)
{
try{
//加载MySql数据库驱动
Class.forName("org.git.mm.mysql.Driver");
}catch(java.lang.ClassNotFoundException e){
System.out.print("Class not found exception occur.Message is:");
System.out.print(e.getMessage());
}
//连接数据库,并在数据库中查找是否存在用户名为username,对应密码为password的用户
try{
Statement stmt;
ResultSet rs;
//声明并初始化数据库连接地址
String url="jdbc:mysql://localhost:3306/test";
//声明并初始化数据库登陆用户名和密码
String user="root";
String passwordOfDB="root";
Connection conn=null;
//连接数据库并验证数据
try{
conn=DriverManager.getConnection(url, user, passwordOfDB);
}catch(Exception ex){
ex.printStackTrace();
}
//使用SQL语句操作数据库,在数据库表中查找是否有符合条件的记录
stmt=(Statement)conn.createStatement();
rs=(ResultSet)stmt.executeQuery("select * from userinfo");
//获取每条记录信息中的数据信息,并显示出来
while(rs.next()){
int id=rs.getInt(1);
String name=rs.getString(2);
String password=rs.getString(3);
int age=rs.getInt(4);
String gender=rs.getString(5);
String email=rs.getString(6);
//显示记录信息
System.out.println("id:"+id);
System.out.println("username:"+name);
System.out.println("password:"+password);
System.out.println("age:"+age);
System.out.println("gender:"+gender);
System.out.println("email:"+email+"\n");
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println("SQL Exception occur.Message is:");
System.out.print(e.getMessage());
} }}
编译报错:at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at SelectDBDemo.main(SelectDBDemo.java:32)
Exception in thread "main" java.lang.NullPointerException
at SelectDBDemo.main(SelectDBDemo.java:38)
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
public class SelectDBDemo
{
public static void main(String[] args)
{
try{
//加载MySql数据库驱动
Class.forName("org.git.mm.mysql.Driver");
}catch(java.lang.ClassNotFoundException e){
System.out.print("Class not found exception occur.Message is:");
System.out.print(e.getMessage());
}
//连接数据库,并在数据库中查找是否存在用户名为username,对应密码为password的用户
try{
Statement stmt;
ResultSet rs;
//声明并初始化数据库连接地址
String url="jdbc:mysql://localhost:3306/test";
//声明并初始化数据库登陆用户名和密码
String user="root";
String passwordOfDB="root";
Connection conn=null;
//连接数据库并验证数据
try{
conn=DriverManager.getConnection(url, user, passwordOfDB);
}catch(Exception ex){
ex.printStackTrace();
}
//使用SQL语句操作数据库,在数据库表中查找是否有符合条件的记录
stmt=(Statement)conn.createStatement();
rs=(ResultSet)stmt.executeQuery("select * from userinfo");
//获取每条记录信息中的数据信息,并显示出来
while(rs.next()){
int id=rs.getInt(1);
String name=rs.getString(2);
String password=rs.getString(3);
int age=rs.getInt(4);
String gender=rs.getString(5);
String email=rs.getString(6);
//显示记录信息
System.out.println("id:"+id);
System.out.println("username:"+name);
System.out.println("password:"+password);
System.out.println("age:"+age);
System.out.println("gender:"+gender);
System.out.println("email:"+email+"\n");
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println("SQL Exception occur.Message is:");
System.out.print(e.getMessage());
} }}
编译报错:at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at SelectDBDemo.main(SelectDBDemo.java:32)
Exception in thread "main" java.lang.NullPointerException
at SelectDBDemo.main(SelectDBDemo.java:38)
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
public class SelectDBDemo
{
public static void main(String[] args)
{
try{
//加载MySql数据库驱动
// Class.forName("org.git.mm.mysql.Driver");
Class.forName("com.mysql.jdbc.Driver");
}catch(java.lang.ClassNotFoundException e){
System.out.print("Class not found exception occur.Message is:");
System.out.print(e.getMessage());
}
//连接数据库,并在数据库中查找是否存在用户名为username,对应密码为password的用户
try{
Statement stmt;
ResultSet rs;//声明并初始化数据库连接地址
String url="jdbc:mysql://localhost:3306/test";//声明并初始化数据库登陆用户名和密码
String user="root";
String passwordOfDB="root";
Connection conn=null;//连接数据库并验证数据
try{
conn=DriverManager.getConnection(url, user, passwordOfDB);
}catch(Exception ex){
ex.printStackTrace();
}//使用SQL语句操作数据库,在数据库表中查找是否有符合条件的记录
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from userinfo");//获取每条记录信息中的数据信息,并显示出来
while(rs.next()){
int id=rs.getInt(1);
String name=rs.getString(2);
String password=rs.getString(3);
int age=rs.getInt(4);
String gender=rs.getString(5);
String email=rs.getString(6);//显示记录信息
System.out.println("id:"+id);
System.out.println("username:"+name);
System.out.println("password:"+password);
System.out.println("age:"+age);
System.out.println("gender:"+gender);
System.out.println("email:"+email+"\n");
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println("SQL Exception occur.Message is:");
System.out.print(e.getMessage());
} }}
从错误提示来看,这里返回了null,即conn==null
所以
stmt=(Statement)conn.createStatement();
这里调用conn的方法的时候出现空指针异常
at SelectDBDemo.main(SelectDBDemo.java:38)
是因为org.gjt.mm.mysql.Driver 许久以前是那个时代最好的MySql JDBC,但不是MySQL公司的,后来MySql将这个驱动收为官方的JDBC驱动,随之而来的是驱动的package改变,driverClassName也就跟着改变了。
加载mysql的数据库驱动程序,需要将mysql的驱动jar文件拷贝到工程目录中。
加载mysql的数据库驱动程序,需要将mysql的驱动jar文件拷贝到工程目录中。