81,122
社区成员




static{ Class.forName(driverName);
}
public Connection getConnection(){ //创建数据库连接
try{
con=DriverManager.getConnection(url,userName,password);
return con;
}catch(Exception e){
System.out.print("连接数据库失败"+e.getMessage());
throw new RuntimeException(e);
}
}
public ResultSet getResult(String sql){ //查询数据库
try{
// con=DriverManager.getConnection(url,userName,password); //这一行不可少
if(conn==null){
conn=getConnection();
}
st=con.createStatement();//最好使用PreparedStatement
rs=st.executeQuery(sql);
}catch(Exception e1){
System.out.print("无法把查询发送至数据库并获得结果"+e1.getMessage());
}
return rs;
}
你的代码就可以做上面的一些改动,当然还有比如说你可以将某些属性放在Properties文件中,然后动态读取呀,这些就不说了,网上太多了。
你说的关闭的问题:当某个对象你不想要在使用的时候,你就把它关闭掉,说的不是很准确。我举个例子哈:
rs,conn,st你都使用完毕了,那么就把它关闭,你不要调用了conn.close()后再去使用rs.getString()等方法,那么那个时候就会报空指针异常了,一般是在你不想在操作数据库的时候就关闭连接。
希望对你有所帮助