1、什麼是JDBC? JDBC(Java DataBase Connectivity)就是Java資料庫連接,說白了就是用Java語言來操作資料庫。原來我們操作資料庫是在控制台使用SQL語句來操作資料庫,JDBC是用Java語言向資料庫發送SQL語句。 2、JDBC原理 SUN提供訪問資料庫規範稱為 ...
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 @Test 14 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登錄成功!