zoukankan      html  css  js  c++  java
  • 如何封装JDBC类?

      1 package jdbcDome;
      2 
      3 import java.sql.Connection;
      4 import java.sql.DriverManager;
      5 import java.sql.ResultSet;
      6 import java.sql.SQLException;
      7 import java.sql.Statement;
      8 
      9 /**
     10  * JDBC工具类
     11  * @author sunjian
     12  *
     13  */
     14 public class DBUtil {
     15     
     16     private static Connection conn = null;    //数据库连接对象
     17     private Statement stmt = null;            //数据库sql语句对象
     18     private ResultSet rs = null;            //数据库结果集对象
     19     
     20     private static final String DRIVER="com.mysql.jdbc.Driver";//这是一个连接数据库必填的常量
     21     private static final String URL = "jdbc:mysql://localhost:3308/shxt"; //数据库的URL 3308为端口  shxt是那个数据库
     22     private static final String USER = "root";  //数据库的账号
     23     private static final String PWD = "mysql";    //数据库的密码
     24     
     25     private static DBUtil db=null;
     26     
     27     public static DBUtil getDB() {
     28         //判断是否为空,这样的方式更加节省资源
     29         if(db == null) {
     30             db = new DBUtil();//实例化对象
     31         }
     32         return db;
     33     }
     34     //将构造器隐藏,这样就无法调用构造器
     35     private DBUtil() {
     36         //................
     37     }
     38     
     39     
     40     //获得数据库连接,加载驱动
     41     public static Connection getConn() {
     42         //加载驱动
     43         try {
     44             Class.forName(DRIVER);
     45             try {
     46                 conn=DriverManager.getConnection(URL, USER, PWD);
     47             } catch (SQLException e) {
     48                 // TODO Auto-generated catch block
     49                 e.printStackTrace();
     50             }
     51         } catch (ClassNotFoundException e) {
     52             e.printStackTrace();
     53         }
     54         return conn;
     55     }
     56     
     57     //处理增删改sql的方法
     58     public int update(String sql) {
     59         int num = 0;
     60         conn=getConn();
     61         try {
     62             stmt=conn.createStatement();
     63             num = stmt.executeUpdate(sql);
     64         } catch (SQLException e) {
     65             e.printStackTrace();
     66         }
     67         return num;
     68     }
     69     
     70     //处理查询sql的方法
     71     public ResultSet query(String sql) {
     72         conn=getConn();
     73         try {
     74             stmt=conn.createStatement();
     75             rs=stmt.executeQuery(sql);
     76         } catch (SQLException e) {
     77             e.printStackTrace();
     78         }
     79         return rs;
     80     }
     81     
     82     //释放资源的方法
     83     public void close() {
     84         try {
     85             if(rs != null) {
     86                 rs.close();
     87             }
     88             
     89             if(stmt != null) {
     90                 stmt.close();
     91             }
     92             
     93             if(conn != null) {
     94                 conn.close();
     95             }
     96         } catch (SQLException e) {
     97             e.printStackTrace();
     98         }
     99     }
    100 }
  • 相关阅读:
    【数据结构第二周】队列知识点整理
    【数据结构第二周】堆栈知识点整理
    【数据结构第二周】线性表知识点整理
    【数据结构第一周】最大子列和问题整理
    网络设置
    QT 安装教程
    C# 复制粘贴板 多行粘贴
    设置网络适配器IP优先级
    MySQL 查重复单号和删重复单号
    Mysql 10053 SocketException 你的主机中的软件中止了一个已建立的连接。
  • 原文地址:https://www.cnblogs.com/xw1024/p/11103495.html
Copyright © 2011-2022 走看看