zoukankan      html  css  js  c++  java
  • JDBC: 创建一个JDBC工具类

    什么时候自己创建工具类?

    • 如果一个功能经常要用到,我们建议把这个功能做成一个工具类,可以在不同的地方重用。 
    • “获得数据库连接”操作,将在以后的增删改查所有功能中都存在,可以封装工具类JDBCUtils。提供获取 连接对象的方法,从而达到代码的重复利用。 

    工具类包含的内容 

      1) 可以把几个字符串定义成常量:用户名,密码,URL,驱动类 

      2) 得到数据库的连接:getConnection() 

      3) 关闭所有打开的资源

    代码示例

     /** * JDBC 工具类 */ 
    
    public class JDBCUtils {
        
        //1. 定义字符串常量, 记录获取连接所需要的信息 
         public static final String DRIVERNAME = "com.mysql.jdbc.Driver";
         public static final String URL = "jdbc:mysql://localhost:3306/db4?characterEncoding=UTF-8";
         public static final String USER = "root";
         public static final String PASSWORD = "123456";
    
        //2. 静态代码块, 随着类的加载而加载
        static{
           try { 
               //注册驱动
                Class.forName(DRIVERNAME);
           } catch (ClassNotFoundException e) { 
                 e.printStackTrace();
           }
        }
    
        //3. 获取连接的静态方法
        public static Connection getConnection(){
            try{
                  // 获取连接对象
                  Connection connection = DriverManager.getConnection(URL, USER, PASSWORD);
    
                  // 返回连接对象
                  return connection;
            }    catch (SQLException e) {
                      e.printStackTrace();
                      return null;
            }
        }
    
         // 4. 关闭资源的静态方法(1)
         public static void close(Connection con, Statement st){
             if(con != null && st != null){
                    try {
                             st.close();
                           con.close();
                    }  catch (SQLException e) {
                            e.printStackTrace();
                    } 
              }
          }
    
          // 4. 关闭资源的静态方法(2)
          public static void close(Connection con, Statement st, ResultSet rs){
                if(rs != null){
                     try { 
                                rs.close();
                     } catch (SQLException e) {                
                                e.printStackTrace();
                     }
                }
     
                close(con,st);
            } 
    }
  • 相关阅读:
    1137. 第 N 个泰波那契数
    486. 预测赢家
    python函数—函数的参数+递归函数
    python函数—调用函数+定义函数
    Seize the day
    数学建模基础学习2-matlab + lingo
    Python基础--使用list和tuple+条件判断+使用dict和set
    经济学人精读丨中国的电子商务
    数学建模基础学习1
    C盘今天爆掉了,罪魁祸首--百度云管家
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15043644.html
Copyright © 2011-2022 走看看