代码如下:
package util;import java.sql.*;/**
 * 单例式数据库连接模式
 *
 * 
 */
public abstract class DBConnection{
private static Connection conn=null; /**
 * 与数据库建立连接
 *
 * 返回值-Connection对象
 */
public static Connection getConnection(){
try{
if(conn == null){
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=InfoSite", "xjfy","lgfree2006");
//Class.forName("com.mysql.jdbc.Driver");
//conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/hospital","root","");
Debug.log("Connecion created.");
}else{
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM admin");
if(rs==null||!rs.next()){
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=InfoSite", "xjfy","lgfree2006");
//Class.forName("com.mysql.jdbc.Driver");
//conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/hospital","root","root");
Debug.log("Connecion re-created.");
} }
}
catch(Exception ex){
Debug.log(Debug.getExceptionMsg(ex));
}
finally{
return conn;
}
}

    public static void main(String[] args){
     try{
    
     Connection co=DBConnection.getConnection();
     Statement stmt=co.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM admin");
if (rs.next()){
System.out.println("connected");
}
     }catch(SQLException e){
     e.printStackTrace();
     }
    }
}
错误提示:Exception in thread "main" java.lang.NullPointerException
at util.DBConnection.main(DBConnection.java:53)
环境:数据库环境配置没有问题。不使用单例模式,连接数据库正常。高手帮忙!!!!