MySQL學(xué)習(xí)之Java連接MySQL數(shù)據(jù)庫(kù)的圖文代碼案例
發(fā)表時(shí)間:2023-07-20 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]1、什么是JDBC? JDBC(Java DataBase Connectivity)就是Java數(shù)據(jù)庫(kù)連接,說白了就是用Java語言來操作數(shù)據(jù)庫(kù)。原來我們操作數(shù)據(jù)庫(kù)是在控制臺(tái)使用SQL語句來操作...
1、什么是JDBC?
JDBC(Java DataBase Connectivity)就是Java數(shù)據(jù)庫(kù)連接,說白了就是用Java語言來操作數(shù)據(jù)庫(kù)。原來我們操作數(shù)據(jù)庫(kù)是在控制臺(tái)使用SQL語句來操作數(shù)據(jù)庫(kù),JDBC是用Java語言向數(shù)據(jù)庫(kù)發(fā)送SQL語句。
2、JDBC原理
SUN提供訪問數(shù)據(jù)庫(kù)規(guī)范稱為JDBC,而生產(chǎn)廠商提供的實(shí)現(xiàn)類稱為驅(qū)動(dòng)。
JDBC是接口,而JDBC驅(qū)動(dòng)才是接口的實(shí)現(xiàn),沒有驅(qū)動(dòng)無法完成數(shù)據(jù)庫(kù)連接!
每個(gè)數(shù)據(jù)庫(kù)廠商都有自己的驅(qū)動(dòng),用來連接自己公司的數(shù)據(jù)庫(kù)。
3、JDBC開發(fā)步驟
1)注冊(cè)驅(qū)動(dòng)
2)獲得連接
3)獲得語句執(zhí)行者
4)執(zhí)行sql語句
5)處理結(jié)果
6)釋放資源
3、導(dǎo)入驅(qū)動(dòng)jar包
1)新建項(xiàng)目,命名為WEB08_JDBC,
2)創(chuàng)建lib目錄,右擊New->Folder,命名為lib,用于存放當(dāng)前項(xiàng)目需要的所有jar包,
把jar包復(fù)制到當(dāng)前項(xiàng)目的lib文件夾下,
3)選擇jar包右擊執(zhí)行Build Path,直至當(dāng)前目錄下出現(xiàn)一個(gè)小奶瓶標(biāo)志
4、測(cè)試sql注入問題(運(yùn)用到JUnit單元測(cè)試的內(nèi)容)
mysql下web08數(shù)據(jù)庫(kù)中tbl_user表中有兩條數(shù)據(jù),根據(jù)用戶信息登錄。
具體代碼實(shí)現(xiàn)如下:
package cn.itheima.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
public class TestLogin {
@Test
public void testLogin(){
try {
login1("zhangsan","999");
} catch (Exception e) {
e.printStackTrace();
}
}
public void login1(String username,String password) throws ClassNotFoundException, SQLException{
/*
* 用戶登錄方法
*/
//1.注冊(cè)驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
//2.獲取連接
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/web08","root","12345");
//3.編寫sql語句
String sql="select * from tbl_user where uname=? and upassword=?";
//4.創(chuàng)建預(yù)處理對(duì)象
PreparedStatement pstmt=conn.prepareStatement(sql);
//5.設(shè)置參數(shù)(給占位符)
pstmt.setString(1, username);
pstmt.setString(2, password);
//6.執(zhí)行查詢操作
ResultSet rs=pstmt.executeQuery();
//7.對(duì)結(jié)果集進(jìn)行處理
if(rs.next()){
System.out.println("恭喜您,"+username+"登錄成功!");
}else{
System.out.println("賬號(hào)或密碼錯(cuò)誤!");
}
if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}
}
右擊Run As->JUnit Test,執(zhí)行結(jié)果為:恭喜您,zhangsan登錄成功!
以上就是MySQL學(xué)習(xí)之Java連接MySQL數(shù)據(jù)庫(kù)的圖文代碼實(shí)例的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。