疫情期间手机直线:18622734798
当前位置:首页新闻中心 → 全部信息
提供给您一个完整的JDBC封装类
更新时间:2012/10/26 点击:1448次
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** *JDBC封装类 *@authorZhangShuqing * */ public class DB{ private ResultSetrs; private Statemen
  1. import java.sql.Connection;    
  2. import java.sql.DriverManager;    
  3. import java.sql.ResultSet;    
  4. import java.sql.SQLException;    
  5. import java.sql.Statement;    
  6.    
  7. /**   
  8.  * JDBC封装类   
  9.  * @author ZhangShuqing   
  10.  *   
  11.  */   
  12. public class DB {    
  13.     private ResultSet rs;    
  14.     private Statement stm;    
  15.     private Connection con;    
  16.     private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=fangtian";    
  17.     private String classname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";    
  18.     private String username =  "sa";    
  19.     private String password =  "";    
  20.         
  21.     /*----------------------------------------------------*/   
  22.   /**   
  23.    * 构造函数   
  24.    */   
  25.     public DB(){    
  26.      try{    
  27.       Class.forName(classname);//加载数据库驱动    
  28.      }catch(ClassNotFoundException e){    
  29.       e.printStackTrace();    
  30.      }    
  31.     }    
  32.   /**   
  33.    * 创建数据库连接   
  34.    */   
  35.     public Connection getCon(){     
  36.        try{    
  37.            con=DriverManager.getConnection(url,username,password);    
  38.        }catch(Exception e){e.printStackTrace(System.err);}    
  39.        return con;    
  40.     }    
  41.         
  42.     /*----------------------------------------------------*/   
  43.   /**   
  44.    * 获取Statement记录   
  45.    */   
  46.     public Statement getStm(){    
  47.        try{    
  48.           con=getCon();    
  49.           stm=con.createStatement();    
  50.        }catch(Exception e){e.printStackTrace(System.err);}    
  51.         return stm;    
  52.     }    
  53.     /**   
  54.      * 调法上面的方法,查询数据库,返回单个结果   
  55.      * 其他类调用过程如下:   
  56.      * DB db=new DB();   
  57.   *   ResultSet r=db.getrs(sql);   
  58.   *   while(r.next()){   
  59.   *    String s1 = r.getInt(1);   
  60.   * }   
  61.      */   
  62.     public ResultSet getrs(String sql){    
  63.      if(sql==null)sql="";    
  64.   try{    
  65.    stm=getStm();    
  66.    rs=stm.executeQuery(sql);    
  67.   }catch(SQLException e){e.printStackTrace();}    
  68.   return rs;    
  69.  }    
  70.         
  71.     /*----------------------------------------------------*/   
  72.     /**   
  73.      * 获取Statement记录集   
  74.      */   
  75.     public Statement getStmed(){    
  76.      try{    
  77.          con=getCon();    
  78.          stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);    
  79.      }catch(Exception e){e.printStackTrace(System.err);}    
  80.      return stm;    
  81.     }    
  82.     /**   
  83.      * 调法上面的方法,查询数据库,返回一个结果集   
  84.      * 其他类调用过程如下:   
  85.      * DB db=new DB();   
  86.   *   ResultSet rs=db.getRs(sql);   
  87.   *   if(rs.next()){   
  88.   *    String s1 = r.getInt(1);   
  89.   *      String s2 = r.getInt(2);   
  90.   *      String s3 = r.getInt(3);   
  91.   * }   
  92.      */   
  93.     public ResultSet getRs(String sql){    
  94.      if(sql==null)sql="";    
  95.   try{    
  96.    stm=getStmed();    
  97.    rs=stm.executeQuery(sql);    
  98.   }catch(SQLException e){e.printStackTrace();}    
  99.   return rs;    
  100.  }    
  101.         
  102.     /*----------------------------------------------------*/   
  103.     /**   
  104.      * 对数据库进行更新操作,适合SQL的insert语句和update语句   
  105.      * 返回一个int值,表示更新的记录数   
  106.      * 若返回为0,表示更新失败   
  107.      * 其他类调用过程如下:   
  108.      * DB db=new DB();   
  109.   *   int i=db.update(sql);   
  110.   *   f(i==0){   
  111.   *    return mapping.findForward("false");   
  112.   * }   
  113.   *  return mapping.findForward("success");   
  114.      */   
  115.     public int update(String sql){    
  116.   int num=0;    
  117.      if(sql==null)sql="";    
  118.      try{    
  119.          stm=getStmed();    
  120.          num=stm.executeUpdate(sql);    
  121.      }catch(SQLException e){e.printStackTrace();num=0;}    
  122.      return num;    
  123.     }    
  124.    
  125.     /*----------------------------------------------------*/   
  126.     /**   
  127.      * 删除数据库的中数据   
  128.      * 其他类调用过程如下:   
  129.      * DB db=new DB();   
  130.   *   db.delete(sql);   
  131.      */   
  132.     public boolean delete(String sql){    
  133.      boolean ok;    
  134.      if(sql==null)sql="";    
  135.      try{    
  136.       stm=getStmed();    
  137.       ok=stm.execute(sql);    
  138.      }catch(SQLException e){e.printStackTrace();}    
  139.      return true;    
  140.     }    
  141.         
  142.     /**   
  143.      * 断开数据库连接   
  144.      * 其他类调用过程如下:   
  145.      * DB db=new DB();   
  146.   *   db.closed();   
  147.      */   
  148.     public void closed(){    
  149.      try{    
  150.       if(rs!=null)rs.close();    
  151.      }catch(Exception e){e.printStackTrace();}    
  152.      try{    
  153.       if(stm!=null)stm.close();    
  154.      }catch(Exception e){e.printStackTrace();}    
  155.      try{    
  156.       if(con!=null)con.close();    
  157.      }catch(Exception e){e.printStackTrace();}         
  158.     }    
  159.         
  • 疫情期间手机直线:18622734798    服务邮箱:service@nfree.cn     QQ:1448132697
  • 地址:天津市河西区围堤道146号华盛广场B座22楼    

    津公网安备 12010302001042号

  • CopyRight 2006~2024 All Rights Reserved 天津市华易动力信息科技有限公司