中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

好程序員Java教程分享java技術案例--封裝JDBC工具類

發布時間:2020-06-13 16:48:56 來源:網絡 閱讀:186 作者:wx5da18b5c4b01e 欄目:編程語言

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

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

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

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

?JDBC實現驗證登錄代碼思路
??鍵盤輸入用戶名和密碼,對比數據庫中的用戶信息,判斷是否登錄成功
?
?????1、連接數據庫
??????????MyJDBCUtils.getConnection()
?
?????2、獲取請求對象stmt
??????????conn.createStmtement()
?????3、創建鍵盤對象,獲取用戶名和密碼
?????????3.1????創建鍵盤錄入對象
?????????3.2????提示用戶輸入
?????????3.3????獲取用戶輸入內容
?????4、編寫SQL語句,把用戶名和密碼放入SQL語句中
?????5、執行查詢,獲取查詢結果
?????????stmt.executeQuery(sql);
?????6、根據查詢結果判斷登錄是否成功
?????7、關閉連接
?Java工具類
在java開發過程中,代碼中時常用到一些Scanner、Random一樣的類,他們是鍵盤錄入,生成隨機數的類,像一個工具一樣,在java中被稱為工具類。
我們在編寫自己的代碼時,有的代碼功能和java工具類似,比如連接數據庫、驗證登錄,時長會用得到,每次都書寫一次太麻煩,我們可以嘗試編寫自己的工具類,每次用到的時候直接導包調用就行,能提高我們的開發效率。
?封裝JDBC工具類
?加入獲取數據庫連接對象的方法
?加入釋放連接的方法
代碼如下:
工具類代碼:
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();

    }
    }

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磴口县| 扎赉特旗| 盐山县| 孟津县| 石楼县| 卢龙县| 乌恰县| 新郑市| 托克托县| 奇台县| 宿迁市| 资兴市| 扎鲁特旗| 和田县| 怀安县| 浦东新区| 潮州市| 河北区| 磴口县| 宁德市| 如东县| 葫芦岛市| 东明县| 嵊州市| 七台河市| 岱山县| 柞水县| 长顺县| 武义县| 敦煌市| 邵武市| 玉屏| 蕉岭县| 南康市| 威信县| 临朐县| 舒城县| 宜良县| 巴里| 绵阳市| 乌审旗|