zoukankan      html  css  js  c++  java
  • JDBCUtil

      1 package com.itheima.uitl;
      2 
      3 import java.io.FileInputStream;
      4 import java.io.InputStream;
      5 import java.sql.Connection;
      6 import java.sql.DriverManager;
      7 import java.sql.ResultSet;
      8 import java.sql.SQLException;
      9 import java.sql.Statement;
     10 import java.util.Properties;
     11 
     12 public class JDBCUtil {
     13     
     14     static String driverClass = null;
     15     static String url = null;
     16     static String name = null;
     17     static String password= null;
     18     
     19     static{
     20         try {
     21             //1. 创建一个属性配置对象
     22             Properties properties = new Properties();
     23             InputStream is = new FileInputStream("jdbc.properties");
     24             
     25             //使用类加载器,去读取src底下的资源文件。 后面在servlet
     26 //            InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
     27             //导入输入流。
     28             properties.load(is);
     29             
     30             //读取属性
     31             driverClass = properties.getProperty("driverClass");
     32             url = properties.getProperty("url");
     33             name = properties.getProperty("name");
     34             password = properties.getProperty("password");
     35             
     36         } catch (Exception e) {
     37             e.printStackTrace();
     38         }
     39     }
     40     
     41     /**
     42      * 获取连接对象
     43      * @return
     44      */
     45     public static Connection getConn(){
     46         Connection conn = null;
     47         try {
     48             Class.forName(driverClass);
     49             //静态代码块 ---> 类加载了,就执行。 java.sql.DriverManager.registerDriver(new Driver());
     50             //DriverManager.registerDriver(new com.mysql.jdbc.Driver());
     51             //DriverManager.getConnection("jdbc:mysql://localhost/test?user=monty&password=greatsqldb");
     52             //2. 建立连接 参数一: 协议 + 访问的数据库 , 参数二: 用户名 , 参数三: 密码。
     53             conn = DriverManager.getConnection(url, name, password);
     54         } catch (Exception e) {
     55             e.printStackTrace();
     56         }
     57         return conn;
     58     }
     59     
     60     /**
     61      * 释放资源
     62      * @param conn
     63      * @param st
     64      * @param rs
     65      */
     66     public static void release(Connection conn , Statement st , ResultSet rs){
     67         closeRs(rs);
     68         closeSt(st);
     69         closeConn(conn);
     70     }
     71     public static void release(Connection conn , Statement st){
     72         closeSt(st);
     73         closeConn(conn);
     74     }
     75 
     76     
     77     private static void closeRs(ResultSet rs){
     78         try {
     79             if(rs != null){
     80                 rs.close();
     81             }
     82         } catch (SQLException e) {
     83             e.printStackTrace();
     84         }finally{
     85             rs = null;
     86         }
     87     }
     88     
     89     private static void closeSt(Statement st){
     90         try {
     91             if(st != null){
     92                 st.close();
     93             }
     94         } catch (SQLException e) {
     95             e.printStackTrace();
     96         }finally{
     97             st = null;
     98         }
     99     }
    100     
    101     private static void closeConn(Connection conn){
    102         try {
    103             if(conn != null){
    104                 conn.close();
    105             }
    106         } catch (SQLException e) {
    107             e.printStackTrace();
    108         }finally{
    109             conn = null;
    110         }
    111     }
    112 }
    View Code
  • 相关阅读:
    现在SimpleMemory的CSS(by BNDong)
    I AK IOI
    最大半联通子图
    曾经SimpleMemory的CSS
    幼儿园战争
    炸掉卡西欧991CNX
    LuoguP1131选择客栈
    2019CSP-S2养成任务
    NOIP2013&NOIP2018&USACO 三倍经验铺路题巧妙解法
    NOIP2018D2T1 旅行
  • 原文地址:https://www.cnblogs.com/TomJay/p/9595692.html
Copyright © 2011-2022 走看看