好程式設計師Java學習路線分享Java案例-封裝JDBC工具類
好程式設計師Java 學習路線 分享Java案例-封裝JDBC工具類-JDBC(Java DataBase Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更高階的工具和介面,使資料庫開發人員能夠編寫資料庫應用程式
- Java 具有堅固、安全、易於使用、易於理解和可從網路上自動下載等特性,是編寫資料庫應用程式的傑出語言。所需要的只是 Java應用程式與各種不同資料庫之間進行對話的方法。
- JDBC可以在各種平臺上使用Java,如Windows,Mac OS和各種版本的UNIX。
- JDBC庫包括通常與資料庫使用相關的下面提到的每個任務的API。
lJDBC實現驗證登入程式碼思路
* 鍵盤輸入使用者名稱和密碼,對比資料庫中的使用者資訊,判斷是否登入成功
* 1、連線資料庫
* MyJDBCUtils.getConnection()
* 2、獲取請求物件stmt
* conn.createStmtement()
* 3、建立鍵盤物件,獲取使用者名稱和密碼
* 3.1 建立鍵盤錄入物件
* 3.2 提示使用者輸入
* 3.3 獲取使用者輸入內容
* 4、編寫SQL語句,把使用者名稱和密碼放入SQL語句中
* 5、執行查詢,獲取查詢結果
* stmt.executeQuery(sql);
* 6、根據查詢結果判斷登入是否成功
* 7、關閉連線
lJava工具類
在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();
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2658337/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Java學習路線分享SpringCloud程式設計師JavaSpringGCCloud
- 好程式設計師Java學習路線分享JVM類載入機制程式設計師JavaJVM
- 好程式設計師Java學習路線分享Java框架怎麼搭建程式設計師Java框架
- 好程式設計師Java學習路線分享mybatis對映程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享Java-String常用方法程式設計師Java
- 好程式設計師Java學習路線分享Java中的位移運算程式設計師Java
- 好程式設計師Java學習路線分享Redis快速入門程式設計師JavaRedis
- 好程式設計師Java學習路線分享JVM相關概念程式設計師JavaJVM
- 好程式設計師Java學習路線分享MyBatis之基本使用程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享maven是什麼程式設計師JavaMaven
- 好程式設計師Java學習路線分享原生Ajax的使用程式設計師Java
- 好程式設計師Java學習路線分享Java弱引用的理解與使用程式設計師Java
- 好程式設計師Java學習路線分享怎麼理解Java物件導向程式設計師Java物件
- 好程式設計師Java學習路線之集程式設計師Java
- 好程式設計師Java學習路線分享MyBatis之Spring整合程式設計師JavaMyBatisSpring
- 好程式設計師Java學習路線分享Dubbo架構介紹程式設計師Java架構
- 好程式設計師Java學習路線分享多執行緒概念程式設計師Java執行緒
- 好程式設計師Java學習路線分享MySQL目錄結構程式設計師JavaMySql
- 好程式設計師Java學習路線分享finalize()方法詳解程式設計師Java
- 好程式設計師Java學習路線分享SpringMVC之MVC概述程式設計師JavaSpringMVC
- 好程式設計師Java學習路線分享三大特性之多型程式設計師Java多型
- 好程式設計師Java學習路線分享Java面試題之載入機制程式設計師Java面試題
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- 好程式設計師Java學習路線JSP物件程式設計師JavaJS物件
- 好程式設計師Java學習路線分享如何處理中文引數程式設計師Java
- 好程式設計師Java學習路線分享MyBatis之關聯查詢程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享Spring常見面試題程式設計師JavaSpring面試題
- 好程式設計師Java教程分享Java之包裝類與常用類程式設計師Java
- 好程式設計師Java學習路線分享5分鐘瞭解計數排序程式設計師Java排序
- 好程式設計師Java學習路線分享JavaScript基本資料型別分析程式設計師JavaScript資料型別
- 好程式設計師Java學習路線分享JavaEE的13種核心技術程式設計師Java
- 好程式設計師Java學習路線分享氣泡排序及最佳化程式設計師Java排序
- 好程式設計師Java學習路線分享SpringMVC之請求和響應程式設計師JavaSpringMVC
- 好程式設計師Java學習路線分享java為什麼不支援泛型陣列程式設計師Java泛型陣列
- 好程式設計師Java學習路線Java bean是個什麼概念程式設計師JavaBean
- 好程式設計師Java教程分享Java開發工具程式設計師Java
- 好程式設計師告訴你Java架構師學習路線程式設計師Java架構
- 長沙Java培訓:後端程式設計師Java學習路線分享Java後端程式設計師