Java 連接 MySQL 數據庫方法

Java 連接 MySQL 數據庫方法

1、傳統的連接方式

# 動態加載mysql驅動
Class.forName("com.mysql.jdbc.Driver");
  • 獲取連接
String url = "jdbc:mysql://localhost:3306/mypro";

String user = "dadeity";

String password = "*****";

Connection conn = DriverManager.getConnection(url, user, password);
  • Code
public static Connection getConnection() throws ClassNotFoundException {
        String url="jdbc:mysql://192.168.137.142:3306/mypro";
        String user="dadeity";
        String password="*****";
        String driverClass="com.mysql.jdbc.Driver";
        Connection con=null;
        Class.forName(driverClass);
        try {
            con=DriverManager.getConnection(url, user, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }

這裏寫圖片描述

2、讀取配置文件方式

  • src 目錄下創建一個以 .properties結尾的配置文件,內容如下
driver:com.mysql.jdbc.Driver
url:jdbc:mysql://192.168.137.142:3306/mypro
user:dadeity
password:****

這裏寫圖片描述

  • 讀取配置文件
InputStream inputStream = DemoTwo.class.getClassLoader().getResourceAsStream("db.properties");
  • 創建Properties對象
Properties pro = new Properties();
  • 裝載
pro.load(inputStream);
  • 解析
String driver = pro.getProperty("driver");
String url = pro.getProperty("url");
String user = pro.getProperty("user");
String password = pro.getProperty("password");
  • 註冊驅動獲取連接
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
  • Code
public static Connection getConnection() throws IOException, ClassNotFoundException {
        // 讀取類路徑下的jdbc.propreties文件(配置文件)
        InputStream inputStream = DemoTwo.class.getClassLoader().getResourceAsStream("db.properties");
        // 創建 Properties 對象
        Properties pro = new Properties();
        // 裝載
        pro.load(inputStream);
        // 解析
        String driver = pro.getProperty("driver");
        String url = pro.getProperty("url");
        String user = pro.getProperty("user");
        String password = pro.getProperty("password");

        Connection conn = null;
        // 註冊驅動獲取連接
        Class.forName(driver);
        try {
            conn = DriverManager.getConnection(url, user, password);

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return conn;
    }

這裏寫圖片描述

3、c3p0連接池連接數據庫

所需的jar包:c3p0-0.9.2.1.jarmchange-commons-java-0.2.3.4.jarmysql-connector-java-5.1.40-bin.jar

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <named-config name="helloc3p0">
        <!-- 連接數據源的基本屬性 -->
        <property name="user">dadeity</property>
        <property name="password">*****</property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://192.168.137.142/mypro</property>

        <!-- 若數據庫中連接數不足時,一次向數據庫服務器申請多少個連接  -->
        <property name="acquireIncrement">5</property>
        <!-- 初始化數據庫連接池時連接的數量 -->
        <property name="initialPoolSize">5</property>
        <!-- 數據庫連接池中的最小的數據庫連接數 -->
        <property name="minPoolSize">5</property>
        <!-- 數據庫連接池中的最大的數據庫連接數 -->
        <property name="maxPoolSize">10</property>
        <!-- c3p0數據庫連接可以維護的statement的個數 -->
        <property name="maxStatements">20</property>
        <!-- 每個連接同時可以使用的statement對象的個數 -->
        <property name="maxStatementsPerConnection">5</property>
    </named-config>
</c3p0-config>
  • 獲取連接Code
// 定義全局變量
private static ComboPooledDataSource ds;
// 靜態代碼塊,命名配置
static {
    ds = new ComboPooledDataSource("helloc3p0");
}
// 獲取數據源
public static DataSource getDataSource() {
    return ds;
}
// 獲取連接
public static Connection getConnection() throws SQLException {
    return ds.getConnection();
}

這裏寫圖片描述

4、數據庫連接池

所需的jar包:commons-dbcp2-2.5.0.jar和相關的jar

BasicDataSource bs=new BasicDataSource();
  • 設置屬性
bs.setDriverClassName("com.mysql.jdbc.Driver");
bs.setUrl("jdbc:mysql://192.168.137.142:3306/mypro");
bs.setUsername("dadeity");
bs.setPassword("*****");
  • Code
public static BasicDataSource getBasicDataSource(){
    // 實例化BasicDataSource
    BasicDataSource bs=new BasicDataSource();

    // 設置BasicDataSource屬性
    // 設置四個屬性
    bs.setDriverClassName("com.mysql.jdbc.Driver");
    bs.setUrl("jdbc:mysql://192.168.137.142:3306/mypro");
    bs.setUsername("dadeity");
    bs.setPassword("*****");
    return bs;
}

這裏寫圖片描述

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