JDBC初體驗

  1. JDBC簡介
    JDBC(Java DataBase Connectivity,java數據庫連接)是一種用於執行SQL語句的Java API,可以爲多種關係數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序

    Java 具有堅固、安全、易於使用、易於理解和可從網絡上自動下載等特性,是編寫數據庫應用程序的傑出語言。所需要的只是 Java應用程序與各種不同數據庫之間進行對話的方法。

    JDBC可以在各種平臺上使用Java,如Windows,Mac OS和各種版本的UNIX。

    JDBC庫包括通常與數據庫使用相關的下面提到的每個任務的API。

 

  1. JDBC實現驗證登錄 

- 創建Scanner對象,提示並獲取獲取用戶輸入用戶名和密碼

- 連接數據庫。
- 把用戶輸入的用戶名和密碼當做查詢條件寫入sql語句
-  執行查詢,獲取查詢結果
- 根據查詢結果判定用戶輸入的賬號和密碼是否正確

  1. 驗證登錄代碼思路

 * 鍵盤輸入用戶名和密碼,對比數據庫中的用戶信息,判斷是否登錄成功
 *     1、連接數據庫

 *         MyJDBCUtils.getConnection()

 *     2、獲取請求對象stmt

 *         conn.createStmtement()

*     3、創建鍵盤對象,獲取用戶名和密碼

*         3.1    創建鍵盤錄入對象

*         3.2    提示用戶輸入

*         3.3    獲取用戶輸入內容

*     4、編寫SQL語句,把用戶名和密碼放入SQL語句中

*     5、執行查詢,獲取查詢結果

*         stmt.executeQuery(sql);

*     6、根據查詢結果判斷登錄是否成功
*     7、關閉連接

JDBC實現登錄驗證案例代碼

package com.qf.demos;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Scanner;

 

public class Demo05 {

public static void main(String[] args) throws SQLException {

String url = "jdbc:mysql://localhost:3306/class";

String user = "root";

String password = "root";

Connection conn = DriverManager.getConnection(url, user, password);

Statement stmt = conn.createStatement();

 

Scanner sc = new Scanner(System.in);

System.out.println("請輸入用戶名:");

String name = sc.nextLine();

 

System.out.println("請輸入密碼:");

String pwd = sc.nextLine();

 

String sql = "select * from user where username='" + name + "' and password='" + pwd + "'";

// String sql = "select * from user where username='zhangsan' and password='lisi' or '1'='1'";

ResultSet resultSet = stmt.executeQuery(sql);

System.out.println(resultSet);

 

if (resultSet.next()) {

System.out.println("登錄成功!");

} else {

System.out.println("用戶名或密碼!");

}

resultSet.close();

stmt.close();

conn.close();

sc.close();

}

}

運行代碼後我們正常輸入類似:

用戶名:zhangsan    密碼sanzhang

這樣的用戶名和密碼獲取到的內容可以和數據庫中的內容對比得到對應的結果

 

如果有用戶輸入類似

用戶名zhangsan 密碼:sansan’or ‘1’=’1

這樣的內容時即便是錯誤的結果也會驗證通過因爲SQL語句被編寫成了select * from userinfo where username=’’ and password=’’ or ‘1’=’1’;

這樣驗證的結果總是正確的這種情況我們稱之爲SQL注入

免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

IT行業、互聯網、開發語言(Java、前端HTML5、Python、UI/UE、雲計算、自動化測試、大數據、人工智能、物聯網、遊戲開發、網絡安全、GO語言、PHP)相關資訊,大連千鋒會第一時間送到大家身邊,也可以關注微信公衆號【dalianqianfengjiaoyu】瞭解相關行業資訊。

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