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

解决方案 »

  1.   

    excignjord() ( ) 信誉:100    Blog   加为好友  2007-05-31 14:24:56  得分: 0  
     
     
       使用完记得关闭!
      
     
    ------------------------------
    请问下我应该在哪里关闭呢,另外问问用静态写的不是就初始化那么一个了么,如果关闭了后面的连接不是不可以用了吗?
      

  2.   

    try{}
    catch{}
    finally{try{conn.close()}catch(Exception e){}}
      

  3.   

    try{}
    catch{}
    finally{try{conn.close()}catch(Exception e){}}--------------------
    呵呵,请问下用静态不是说才运行一次么,那不是con只有一个么,如果关了后面再请求这个方法还可以用么