JDBC工具類:JDBCUtils

  1. 目的:簡化書寫
  2. 分析:
    1. 註冊驅動的抽取
    2. 抽取一個方法獲取連接對象
      1. 需求:不想傳遞參數,同時保證工具類的通用性
      2. 解決:配置文件
        1. Jdbc.properties
          1. Url=
          2. User=
          3. Password=
    3. 抽取一個方法釋放資源
  3. 代碼實現:
    		public  class JDBCUtils {
    		Private  static  String url ;
    		Private static String username; 
    		Private static String password;
    		Private static String driver;
    		
    		
    		/**
    		*文件的讀取,只需要讀一次即可拿到這些值。使用靜態代碼塊
    		*/
    		
    		static{
    		//讀取資源文件,獲取值。
    		
    		try{
    		//1.創建Properties集合類
    			Properties Pro = new properties();
    		//獲取src路徑下的文件方式--->ClassLoader 類加載器
    		ClassLoader classloader = JDBCUtils.class.getClassLoader();
    		URL  res = classLoader .getResource("jdbc.properties");
    		String path = res.getPath();
    		System .out .println(path);
    		//加載文件
    		pro.load(new FieldReader(path));
    		//獲取數據,賦值
    		url = pro.getProperty("url");
    		user = pro.getProperty("user");
    		password = pro.getProperty("password");
    		driver = pro.getProperty("driver");
    		//註冊驅動
    		Class.forName(driver);
    		}catch(IOException e){
    			e.printStackTrace();
    		}
    		}catch(ClassNotFoundException e){
    			e.printStackTrace();
    		}
    		
    		
    		/**
    		*獲取連接
    		*/
    		public static Connection getConnection()throw SQLException{
    			return DriverManager.getConnection(url,user,password);
    		}
    		
    		
    		/**
    		*釋放資源
    		*/
    		public static void close (ResultSet rs, Statement stmt ,Connection conn) {
    			
    			If (rs!= NULL){
    				try{
    					rs.close();
    				}catch(SQLException e){
    					e.printStackTrace();
    				}
    			}
    			
    			If (stmt != NULL){
    				try{
    					stmt.close();
    				}catch(SQLException e){
    					e.printStackTrace();
    				}
    			}
    			
    			If (conn != NULL){
    				try{
    					conn .close();
    				}catch(SQLException e){
    					e.printStackTrace();
    				}
    			}
    			
    		}
    		
    		}
    		
    	
    		} 
    

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章