標籤:jdb row throws 測試的 ring 控制台 trace junit except
1、什麼是JDBC?
JDBC(Java DataBase Connectivity)就是Java資料庫連接,說白了就是用Java語言來操作資料庫。原來我們操作資料庫是在控制台使用SQL語句來操作資料庫,JDBC是用Java語言向資料庫發送SQL語句。
2、JDBC原理
SUN提供訪問資料庫規範稱為JDBC,而生產廠商提供的實作類別稱為驅動。
JDBC是介面,而JDBC驅動才是介面的實現,沒有驅動無法完成資料庫連接!
每個資料庫廠商都有自己的驅動,用來串連自己公司的資料庫。
3、JDBC開發步驟
1)註冊驅動
2)獲得串連
3)獲得語句執行者
4)執行sql語句
5)處理結果
6)釋放資源
3、匯入驅動jar包
1)建立項目,命名為WEB08_JDBC,
2)建立lib目錄,右擊New->Folder,命名為lib,用於存放當前項目需要的所有jar包,
把jar包複製到當前項目的lib檔案夾下,
3)選擇jar包右擊執行Build Path,直至目前的目錄下出現一個小奶瓶標誌
4、測試sql注入問題(運用到JUnit單元測試的內容)
mysql下web08資料庫中tbl_user表中有兩條資料,根據使用者資訊登入。
具體代碼實現如下:
1 package cn.itheima.test; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 10 import org.junit.Test;11 12 public class TestLogin {13 @Test14 public void testLogin(){15 try {16 login1("zhangsan","999");17 } catch (Exception e) {18 e.printStackTrace();19 }20 }21 public void login1(String username,String password) throws ClassNotFoundException, SQLException{22 /*23 * 使用者登入方法24 */25 //1.註冊驅動26 Class.forName("com.mysql.jdbc.Driver");27 //2.擷取串連28 Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/web08","root","12345");29 //3.編寫sql語句30 String sql="select * from tbl_user where uname=? and upassword=?";31 //4.建立預先處理對象32 PreparedStatement pstmt=conn.prepareStatement(sql);33 //5.設定參數(給預留位置)34 pstmt.setString(1, username);35 pstmt.setString(2, password);36 //6.執行查詢操作37 ResultSet rs=pstmt.executeQuery();38 //7.對結果集進行處理39 if(rs.next()){40 System.out.println("恭喜您,"+username+"登入成功!");41 }else{42 System.out.println("帳號或密碼錯誤!");43 }44 if(rs!=null) rs.close();45 if(pstmt!=null) pstmt.close();46 if(conn!=null) conn.close(); 47 }48 }
右擊Run As->JUnit Test,執行結果為:恭喜您,zhangsan登入成功!
MySQL學習(三)——Java串連MySQL資料庫