JDBC學習筆記(2)——數據庫連接

數據庫連接第一種方式:

package com.JDBC;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCConnection1 {
    //連接數據庫的URL
    private String url="jdbc:mysql://localhost:3306/user";
    private String user="root";
    private String password="123456";
    public Connection getConn() throws SQLException {
        //創建驅動程序
        Driver driver=new com.mysql.jdbc.Driver();
        //設置用戶名和密碼
        Properties props=new Properties();
        props.setProperty("user", user);
        props.setProperty("password", password);
        Connection conn=driver.connect(url, props);
        System.out.println(conn);
        return conn;
    }
}

連接成功

數據庫連接的第二種方式:

package com.JDBC;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCConnection2 {
    //連接數據庫的URL
    private String url="jdbc:mysql://localhost:3306/user";
    private String user="root";
    private String password="123456";
    public Connection getConn() throws SQLException {
        Driver driver=new com.mysql.jdbc.Driver();
        //註冊驅動程序
        DriverManager.registerDriver(driver);
        Connection conn=DriverManager.getConnection(url,user,password);
        System.out.println(conn);
        return conn;
    }
}

連接成功

數據庫連接的第三種方式:

package com.JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCConection3 {
    private String url="jdbc:mysql://localhost:3306/user";
    private String user="root";
    private String password="123456";
    private Connection conn=null;
    public Connection getConn() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(url,user,password);
        System.out.println(conn);
        return conn;
    }
}

連接成功

數據庫連接的第四種方式:、

類路徑讀取JDBC的配置文件

不論是Java項目還是Web項目,使用類路徑讀取配置文件比較通用,且移植性好。

    方式一 點.:代表Java命令運行的目錄(不推薦使用)
1. 在java項目下,.java命令的運行目錄從項目的根目錄開始
2. 在web項目下,.java命令的運行目錄從tomcat/bin目錄下開始
FileInputStream in=new FileInputStream("./src/db.propreties");
 java項目換成web項目時,不具備通用性,所以不能用點.

    方式二  斜槓/:表示classpath的根目錄(推薦使用)
1. 在java項目下,classpath的根目錄從bin目錄開始
2. 在web項目下,classpath的根目錄從WEB-INF/classes目錄開始
InputStream in=JDBCConnection4.class.getResourceAsStream("/db.properties");
   在java項目中和web項目中都能一致的讀取到資源文件。具有通用性。但是隻能是讀,不能改,因爲是在web項目中tomcat/項目/WEB-INF/classes,更改了內容,再發佈會發生更新。
package com.JDBC;

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

public class JDBCConnection4 {
    //連接數據庫的URL
    public static String url=null;
    public static String user=null;
    public static String password=null;
    public static String driverName=null;
    /**
     * 靜態塊,只被執行一次,給予靜態變量賦值,在加載類時候調用 
    */
    static {
        Properties props=new Properties();
        InputStream in=JDBCConnection4.class.getResourceAsStream("/db.properties");
        try {
            props.load(in);
            url=props.getProperty("url");
            user=props.getProperty("user");
            password=props.getProperty("password");
            driverName=props.getProperty("driverName");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("加載失敗");
        }
    }
    public Connection getConn() throws SQLException, ClassNotFoundException {
        Class.forName(driverName);
        Connection conn=DriverManager.getConnection(url,user,password);
        System.out.println(conn);
        return conn;
    }
}

db.properties文件

driverName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/user
user=root
password=123456

連接成功

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