JAVA EE NZ2001 ——Day39——java EE學習 通宵達旦,終於弄好了數據庫連接的相關總結、作業以及筆記

1、查詢一個用戶表,將所有用戶封裝到一個list 裏面去展示

說明:所示的代碼裏面我要連接的數據庫是 nz2001,所操作的表示的表示user_info表
其中的表設計如圖
在這裏插入圖片描述

package com.qianfeng.ps.am.secend;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


public class DemoList {
	public static void main(String[] args) {

	String url = "jdbc:mysql://127.0.0.1:3306/nz2001";
	String user = "root";
	String password ="123456";
	
	Connection con = null;
	PreparedStatement ps = null;
	ResultSet rs = null; //結果集
	
	
	try {
		Class.forName("com.mysql.jdbc.Driver"); //加載驅動use
		
		con = DriverManager.getConnection(url,user,password); //獲取連接
		
		//從現在開始,養成良好的習慣; 不用*
		String sql = "select uid,uname,upass,uage from user_info";
		
		//獲取預處理對象
		ps = con.prepareStatement(sql); //給了sql
		
		//執行查詢 得到結果集
		rs = ps.executeQuery();
		
		//新建一個集合 ; 將結果集裏面的數據, 封裝到這個集合裏面去
		List<UserInfo> list = new ArrayList<UserInfo>();
		UserInfo ui;
		
		//一次循環,是一行(條)數據
		while(rs.next()) { //遍歷查詢結果;每循環一次,就代表有一行數據
			
			//實例化一個UserInfo的對象;
			ui = new UserInfo(); // 每次都要實例化對象
			
			//要將這個數據保存到  ui對象裏面去
			ui.setUid(rs.getInt("uid"));
			ui.setUname(rs.getString("uname"));
			ui.setUpass(rs.getString("upass"));
			ui.setUage(rs.getInt("uage"));
			
			//把這個ui對象,添加到集合裏面去
			list.add(ui); //存進去的不是ui這個引用名稱,存的是引用  x001x01   x002123   x1231231
		}
		
		//關閉連接
		rs.close();
		ps.close();
		con.close();
		
		for(UserInfo aa : list) {
			System.out.println(aa);
		}
		
		
	}catch (Exception e) {
		e.printStackTrace();
	}
	}

}

2、使用配置文件的方式封裝DBtuil

package com.qianfeng.ps.util;

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

public class DBUtils {

	// 不變
	static final String URL = "jdbc:mysql://127.0.0.1:3306/nz2001?rewriteBatchedStatements=true";
	static final String USER = "root";
	static final String PASS_WORD = "123456";

	// 1: 加載驅動,在我們整個項目裏面,只需要跑一次;

	static {
		// 加載驅動;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	// 提供靜態方法獲取數據庫的連接;
	/**
	 * 返回一個數據庫的連接
	 * 
	 * @return
	 */
	public static Connection getConnection() {
		try {
			return DriverManager.getConnection(URL, USER, PASS_WORD);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

	// 提供靜態方法,關閉我們的結果集; 關閉我們的 ps對象; 關閉我們的連接對象;
	public static void close(Connection con, PreparedStatement ps, ResultSet rs) {

		closeResultSet(rs); // 關閉結果集

		closePreparedStatement(ps); //關閉操作數據庫的對象
		
		closeConnection(con);//關閉連接
	}

	private static void closeResultSet(ResultSet rs) {

		if (rs != null) {

			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}

		}

	}

	private static void closePreparedStatement(PreparedStatement ps) {
		if (ps != null) {

			try {
				ps.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}

		}
	}
	
	private static void closeConnection(Connection con) {
		if (con != null) {

			try {
				con.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}

		}
	}

}

3、java操作數據庫的步驟和主要的接口類

**


步驟


  1. 導入JDBC驅動包:需要下載包含數據庫編程所需的JDBC的jar包。

  2. 註冊JDBC驅動程序:要求您初始化驅動程序,以便您可以打開與數據庫的通信通道。

  3. 創建連接:需要使用 D riv e r M a n a g e r.g e t C o n n e c tio n ()
    方法創建一個Connection對象,該對象表示 與數據庫的物理連接。

  4. 執行查詢:需要使用類型爲Statement的對象來構建和提交SQL語句到數據庫。

  5. 從結果集中提取數據:需要使用相應的 R e s ult S e t .g e t X X X () 方法從結果集中檢索數據。

  6. 釋放資源:需要明確地關閉所有數據庫資源,而不依賴於JVM的垃圾收集。

**

步驟詳細操作

**
(1)導入jar包,在項目下創建lib目錄,把mysql的jdbc包放入此目錄,並添加到build path中(idea不 同)。
在這裏插入圖片描述
如圖是數據庫驅動
在這裏插入圖片描述
在這裏插入圖片描述
如圖
在這裏插入圖片描述

(2)註冊驅動

第一種方式(推薦寫法):Class.forName()
註冊驅動程序最常見的方法是使用Java的Class.forName()方法,將驅動程序的類文件動態加載到內 存中,並將其自動註冊

try {  
 Class.forName("com.mysql.jdbc.Driver"); 
 } 
 catch(ClassNotFoundException ex) {
    System.out.println("Error: unable to load driver class!");   
    System.exit(1); 
    }


 

第二種方式:是使用靜態DriverManager.registerDriver()方法。

try { 
  Driver myDriver = new com.mysql.jdbc.Driver();
     DriverManager.registerDriver( myDriver );
      } 
      catch(ClassNotFoundException ex) { 
        System.out.println("Error: unable to load driver class!"); 
          System.exit(1); 
          }

(3)獲取連接
3.1數據庫URL配置
加載驅動程序後,可以使用DriverManager.getConnection()方法建立連接。爲了方便參考,讓我列出 三個重載的DriverManager.getConnection()方法

  • getConnection(String url
    **
    getConnection(String url,Properties prop)
    **
  • getConnection(String url,String user,String password)

創建數據庫連接對象

String URL = "jdbc:mysql://localhost:3306/emp"; 
String USER = "root"; 
String PASS = "root" Connection conn = DriverManager.getConnection(URL, USER, PASS);

主要的接口

Statement 用於對數據庫進行通用訪問。在運行時使用靜態SQL語句時很有用。 Statement接口不能接受參數。
PreparedStatement(推 薦使用) **當您計劃多次使用SQL語句時使用。PreparedStatement接口在運行時接 受輸入參數。
**
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章