在maven project下使用jdbc或dbcp工具类时会碰到如题异常
通常是因为properties的位置不对造成的
所有的properties文件统一放在src/resources目录下进行管理
工具类
private static String name = null;
private static String url = null;
private static String username = null;
private static String password = null;
static {
InputStream in = jdbc_utils.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties pis = new Properties();
try {
pis.load(in);
name=pis.getProperty("name");
url=pis.getProperty("url");
username=pis.getProperty("username");
password=pis.getProperty("password");
Class.forName(name);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,username,password);
}
//4.关闭流
public static void CloseConnection(Connection con, Statement sta, ResultSet rst) throws SQLException {
//最好判断一下每个资源是否为null
con.close();
sta.close();
rst.close();
}
测试类
public class UtilsTest {
public static void main(String[] args) throws Exception{
Connection con = dbcp_utils.getConnection();
String sql = "insert into cusinfo (name, money) VALUES (?,?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setObject(1,"小明");
pst.setObject(2,"100000");
int i = pst.executeUpdate();
if (i>0){
System.out.println("update success!!");
}
dbcp_utils.CloseStream(con,pst,null);
}
}