想问下写这样一个数据库访问的类有什么问题或者缺点?
本人新手,经验比较少,想在一个项目中写一个数据库访问的类以后可以在项目里面调用,所以方法都写了静态的,不知道这样会有哪些问题或者缺点呢?请各位高手指点一下,让偶学习学习。也可以把大家好的方法分享一下让偶以后可以套用。
public class DataMethod {
static{
try{
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ");
}
catch(Exception e){
e.printStackTrace();
}
}
/**
* @return con
*/
public static Connection getCon(){
Connection con=null;
String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=OnlineExam ";
String user= " ";
String password= " ";
try{
con=DriverManager.getConnection(url,user,password);
}
catch(Exception e){
e.printStackTrace();
}
return con;
}
/**
* @param sql
* @return rs
*/
public static ResultSet uuery(String sql){
Statement stmt;
ResultSet rs=null;
Connection con=getCon();
try{
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}
catch(Exception e){
e.printStackTrace();
}
return rs;
}
/**
* @param sql
* @return i
*/
public static int update(String sql){
Statement stmt;
int a=0;
Connection con=getCon();
try{
stmt=con.createStatement();
a=stmt.executeUpdate(sql);
}
catch(Exception e){
e.printStackTrace();
}
return a;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
------解决方案--------------------最起码改成数据库连接池方式
------解决方案--------------------使用完记得关闭!
------解决方案--------------------try{}
catch{}
finally{try{conn.close()}catch(Exception e){}}