日期:2014-05-18  浏览次数:20684 次

想问下写这样一个数据库访问的类有什么问题或者缺点?
本人新手,经验比较少,想在一个项目中写一个数据库访问的类以后可以在项目里面调用,所以方法都写了静态的,不知道这样会有哪些问题或者缺点呢?请各位高手指点一下,让偶学习学习。也可以把大家好的方法分享一下让偶以后可以套用。

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){}}