測試是否連接數據庫,並打印日誌

1.新建module

2.構建如下目錄,項目目錄下新建libs文件夾,將mysql驅動jar包拷貝到裏面,然後,右鍵add as library

3.JDBCUtils.java

import java.sql.*;

public class JDBCUtils {
    public static Connection getConnection() {
        String driver = "com.mysql.jdbc.Driver";  // 獲取mysql數據庫的驅動類
        String url = "jdbc:mysql://localhost:3306/myworks"; // 連接數據庫,myworks爲數據庫
        String name = "root"; //連接mysql的用戶名
        String pwd = "root"; //連接mysql的密碼
        try {
            Class.forName(driver);
            Connection conn = DriverManager.getConnection(url, name, pwd);
            return conn;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return null;
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs) {
        try {
            if (rs != null) {
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (ps != null) {
                ps.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws SQLException {
        Connection cc = JDBCUtils.getConnection();
        // 判斷是否連接數據庫成功
        if (!cc.isClosed()) {
            System.out.println("Succeeded connecting to the Database!");
        }
        Statement statement = cc.createStatement();
        // 執行查詢語句
        String sql = "select * from t_user";
        ResultSet rs = statement.executeQuery(sql);
        while (rs.next()) {
            System.out.println(rs.getString("name") + "");
        }
    }


}

將配置文件提取成properties文件

jdbc.properties,注意不能加空格

#獲取mysql數據庫的驅動類
Driver=com.mysql.jdbc.Driver
#連接數據庫,myworks爲數據庫
url=jdbc:mysql://localhost:3306/myworks
#連接mysql的用戶名
user=root
#連接mysql的密碼
password=root 

DataConnection.java

import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DataConnection {
    private Properties p;
    private Connection conn;
    private FileInputStream f;

    public static void main(String[] args) {
        new DataConnection().loadDriver();
    }
    public void loadDriver(){
        p = new Properties();
        try{
            f = new FileInputStream(new File("D:\\jdbc.properties"));
            p.load(f);
            System.out.println("數據庫正在連接,請等待...");
            Class.forName(p.getProperty("Driver").trim());
            System.out.println("驅動加載成功!!!");
            try{
                conn = DriverManager.getConnection(p.getProperty("url").trim(),p.getProperty("user").trim(),p.getProperty("password").trim());

                System.out.println("數據庫連接成功!!!");
            }catch(SQLException e){
                System.out.println("不能連接到指定的數據庫,請檢查相應的基本信息!!!");
                e.printStackTrace();
            }
        }catch(FileNotFoundException e){
            System.out.println("指定路徑的文件不存在或者無權限訪問!!!");
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace();
        }catch (ClassNotFoundException e){
            System.out.println("無法找到所加載的驅動,或驅動文件不存在!!!");
            e.printStackTrace();
        }finally {
            try{
                f.close();
                conn.close();
            }catch (IOException e){
                e.printStackTrace();
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
    }


}

 

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