JDBC資料庫配置整理
阿新 • • 發佈:2019-01-07
基本方法
- 引入資料庫驅動包
mysql-connector-java-5.1.47.jar
- 註冊資料庫驅動
- 建立資料庫連線物件
- 獲得操作資料庫物件
- 釋放資源
示例demo:
package com.runoob.test; import java.sql.*; public class MySQLDemo { // JDBC 驅動名及資料庫 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"; // 資料庫的使用者名稱與密碼,需要根據自己的設定 static final String USER = "root"; static final String PASS = "123456"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // 註冊 JDBC 驅動 Class.forName("com.mysql.jdbc.Driver"); // 開啟連結 System.out.println("連線資料庫..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); // 執行查詢 System.out.println(" 例項化Statement物件..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; ResultSet rs = stmt.executeQuery(sql); // 展開結果集資料庫 while(rs.next()){ // 通過欄位檢索 int id = rs.getInt("id"); String name = rs.getString("name"); String url = rs.getString("url"); // 輸出資料 System.out.print("ID: " + id); System.out.print(", 站點名稱: " + name); System.out.print(", 站點 URL: " + url); System.out.print("\n"); } // 完成後關閉 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ // 處理 JDBC 錯誤 se.printStackTrace(); }catch(Exception e){ // 處理 Class.forName 錯誤 e.printStackTrace(); }finally{ // 關閉資源 try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ }// 什麼都不做 try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("Goodbye!"); } }
使用dbutils操作資料庫
Class.forName("com.mysql.jdbc.Driver"); System.out.println("連線資料庫……"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test01", "root", "admin"); statement = conn.createStatement(); QueryRunner qr = new QueryRunner(); qr.update(conn, "insert into user values (?,?,?,?,?,?)", 1,2,3,4,5,6);
配置資料庫連線池
- 需要引入
commons-dbcp2-2.4.0.jar
,commons-pool2-2.6.0.jar
,commons-logging-1.2.jar
包
示例demo:
import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; public class JDBCUtils{ //創建出BasicDataSource類物件 private static BasicDataSource datasource = new BasicDataSource(); //靜態程式碼塊,物件BasicDataSource物件中的配置,自定義 static{ //資料庫連線資訊,必須的 datasource.setDriverClassName("com.mysql.jdbc.Driver"); datasource.setUrl("jdbc:mysql://localhost:3306/day33_user"); datasource.setUsername("root"); datasource.setPassword("123"); //物件連線池中的連線數量配置,可選的 datasource.setInitialSize(10);//初始化的連線數 datasource.setMaxActive(8);//最大連線數量 datasource.setMaxIdle(5);//最大空閒數 datasource.setMinIdle(1);//最小空閒 } //定義靜態方法,返回BasicDataSource類的物件 public static DataSource getDataSource(){ return datasource; } }