日期:2014-05-20  浏览次数:20760 次

急急急!!! 用java程序与连接数据库时报SQLException异常
这是一个简单的用java的程序连接oracle数据库的小程序,为了以后的方便维护,我把一些连接数据库的参数放到了一个.properties的配置文件中,下面我写了三个类,一个是专门管理从.properties文件拿出配置文件的东西,另一类是专门管理与数据库连接的,最后一个只是一个测试类,该测试类中有一个方法,即是把数据库中的每个数据都拿出来(用select语句,我没有吧里面的东西全部拿出来,只是拿出每一行的ID号)
问题:标题已经说的很清楚了(各位师兄师姐,拜托了啊)
取配置文件类
public class PropertiesUtil {

public static String getValueById(String key){
// String rootPath = System.getProperty("user.dir");
// int end = rootPath.lastIndexOf("//");
//
// rootPath = rootPath.substring(0, end);
// String path = rootPath+"/webapps/BBS/etc/datesource.properties";
// path = path.replace("//", "/");
String path="E:/workplace/myeclipseproject/BBS/WebRoot/etc/dataresources.properties";
String value=null;
Properties pro=new Properties();
try {
pro.load(new FileInputStream(path));
value=(String)pro.get(key);
return value;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return value;
}
}
----数据库连接类
package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBConnectionUtil {

private static DBConnectionUtil instance;

public DBConnectionUtil(){}

public static DBConnectionUtil getInstance(){

if(instance==null){
instance=new DBConnectionUtil();
}

return instance;
}

public Connection getConnection(){
Connection conn=null;
try {
String str=PropertiesUtil.getValueById("drivername");
Class.forName(str);
这三句话 ------ System.out.println(PropertiesUtil.getValueById("url"));
我是来验 ------ System.out.println(PropertiesUtil.getValueById("username"));
正,url ----    System.out.println(PropertiesUtil.getValueById("password"));
usernam conn=DriverManager.getConnection(PropertiesUtil.getValueById
密码是否正确的,结果打印出来的是正确的

("url"), PropertiesUtil.getValueById("username"), PropertiesUtil.getValueById("password"));   --------每次执行这句话之后,跳到@@@@
} catch (ClassNotFoundException e) {
System.out.println("么有找到驱动。。");
} catch (SQLException e) {
System.out.println("连接失败");---@@@@
}
return conn;
}

public void closeConnection(ResultSet rs, PreparedStatement ps,
Connection conn) {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (ps != null) {
ps.close();
ps = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}



}
-----测试类
public class TextDBConnection {

public static void getAll(){
//List<UserInfoDTO> list=new ArrayList<UserInfoDTO>();
DBConnectionUtil util=DBConnectionUtil.getInstance();
Connection conn=util.getConnection();
String sql="select * from user_info";
PreparedStatement ps=null;
ResultSet rs=null;
try {
ps=conn.prepareStatement(sql);