java技術案例--封裝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實現驗證登陸代碼思路

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

* MyJDBCUtils.getConnection()mysql

* 二、獲取請求對象stmtsql

* conn.createStmtement()數據庫

* 三、建立鍵盤對象,獲取用戶名和密碼安全

* 3.1 建立鍵盤錄入對象網絡

* 3.2 提示用戶輸入dom

* 3.3 獲取用戶輸入內容工具

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

* 五、執行查詢,獲取查詢結果url

* stmt.executeQuery(sql);

* 六、根據查詢結果判斷登陸是否成功
* 七、關閉鏈接

  1. Java工具類

在java開發過程當中,代碼中時經常使用到一些Scanner、Random同樣的類,他們是鍵盤錄入,生成隨機數的類,像一個工具同樣,在java中被稱爲工具類。

咱們在編寫本身的代碼時,有的代碼功能和java工具相似,好比鏈接數據庫、驗證登陸,時長會用獲得,每次都書寫一次太麻煩,咱們能夠嘗試編寫本身的工具類,每次用到的時候直接導包調用就行,能提升咱們的開發效率。

  1. 封裝JDBC工具類
    1. 加入獲取數據庫鏈接對象的方法
    2. 加入釋放鏈接的方法

代碼以下:

工具類代碼:

package com.qianfeng.util;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


/**

* JDBC工具類

* 有獲取鏈接的方法

* @author dushine

*/

public class JDBCUtil {

/**

* 獲取數據庫鏈接的方法

* @return Connection conn

* @throws SQLException

*/

public static Connection getConnection() throws SQLException {

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

String user = "root";

String password = "root";

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

return conn;

}

/**

* 釋放鏈接的方法

* @param conn

* @throws SQLException

*/

public static void releaseSourse(Connection conn) throws SQLException {

if (conn != null) {

conn.close();

}

}

/**

* 釋放鏈接的方法

* @param conn 數據庫鏈接對象

* @param stmt 執行SQL語句的對象

* @throws SQLException

*/

public static void releaseSourse(Connection conn,Statement stmt) throws SQLException {

if (stmt != null) {

stmt.close();

}

if (conn != null) {

conn.close();

}

}

/**

* 釋放鏈接的方法

* @param conn 數據庫鏈接對象

* @param stmt 執行SQL語句的對象

* @param resultSet 執行SQL語句的返回的結果集

* @throws SQLException

*/

public static void releaseSourse(Connection conn,Statement stmt,ResultSet resultSet) throws SQLException {

if (resultSet != null) {

resultSet.close();

}

if (stmt != null) {

stmt.close();

}

if (conn != null) {

conn.close();

}

}

}



測試類代碼:

package com.qianfeng.demos;


import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.Scanner;


import com.qianfeng.util.JDBCUtil;


public class Demo04 {

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

/**

* 登陸註冊

* 獲取用戶輸入內容

* 把輸入的內容當作條件查詢數據庫中的內容

*/

Scanner sc = new Scanner(System.in);

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

String name = sc.nextLine();

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

String pwd = sc.nextLine();

// 註冊驅動

Class.forName("com.mysql.jdbc.Driver");

/*

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

String user = "root";

String password = "root";

// 獲取和數據庫的鏈接

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

Connection conn = JDBCUtil.getConnection();

// 使用鏈接對象獲取執行sql的對象

Statement stmt = conn.createStatement();

// 編寫SQL語句

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

System.out.println(sql);

// 執行SQL語句,獲取返回結果

ResultSet resultSet = stmt.executeQuery(sql);

if (resultSet.next()) {

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

} else {

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

}

JDBCUtil.releaseSourse(conn, stmt, resultSet);

sc.close();

}

}

相關文章
相關標籤/搜索