JAVA技術案例--封裝JDBC工具類

l JDBCjava

簡介

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


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


- JDBC
能夠在各類平臺上使用
Java
,如
Windows
Mac OS
和各類版本的
UNIX


- JDBC
庫包括一般與數據庫使用相關的下面提到的每一個任務的
API

l JDBCmysql

實現驗證登陸代碼思路

* sql

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

* 1
、鏈接數據庫

* MyJDBCUtils.getConnection()數據庫

* 2安全

、獲取請求對象
stmt

* conn.createStmtement()網絡

* 3dom

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

* 3.1 工具

建立鍵盤錄入對象

* 3.2 測試

提示用戶輸入

* 3.3 url

獲取用戶輸入內容

* 4

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

* 5

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

* stmt.executeQuery(sql);

* 6

、根據查詢結果判斷登陸是否成功

* 7
、關閉鏈接

l Java

工具類

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

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

l

封裝
JDBC
工具類

n

加入獲取數據庫鏈接對象的方法

n

加入釋放鏈接的方法

代碼以下

工具類代碼

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();

}

}

相關文章
相關標籤/搜索