MySQL學習之Java連接MySQL數據庫的圖文代碼實例

1、什么是jdbc?

? JDBC(Java DataBase Connectivity)就是Java數據庫連接,說白了就是用Java語言來操作數據庫。原來我們操作數據庫是在控制臺使用SQL語句來操作數據庫,JDBC是用Java語言向數據庫發送SQL語句。

2、JDBC原理

SUN提供訪問數據庫規范稱為JDBC,而生產廠商提供的實現類稱為驅動。

MySQL學習之Java連接MySQL數據庫的圖文代碼實例

立即學習Java免費學習筆記(深入)”;

JDBC是接口,而JDBC驅動才是接口的實現,沒有驅動無法完成數據庫連接!

每個數據庫廠商都有自己的驅動,用來連接自己公司的數據庫。

3、JDBC開發步驟

1)注冊驅動

2)獲得連接

3)獲得語句執行者

4)執行sql語句

5)處理結果

6)釋放資源

3、導入驅動jar包

1)新建項目,命名為WEB08_JDBC,

2)創建lib目錄,右擊New->Folder,命名為lib,用于存放當前項目需要的所有jar包,

把jar包MySQL學習之Java連接MySQL數據庫的圖文代碼實例復制到當前項目的lib文件夾下,

3)選擇jar包右擊執行Build Path,直至當前目錄下出現一個小奶瓶標志

MySQL學習之Java連接MySQL數據庫的圖文代碼實例

4、測試sql注入問題(運用到JUnit單元測試的內容)

mysql下web08數據庫中tbl_user表中有兩條數據,根據用戶信息登錄。

MySQL學習之Java連接MySQL數據庫的圖文代碼實例

具體代碼實現如下:

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.注冊驅動  ????????????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.創建預處理對象  ????????????PreparedStatement?pstmt=conn.prepareStatement(sql);  ????????????//5.設置參數(給占位符)  ????????????pstmt.setString(1,?username);  ????????????pstmt.setString(2,?password);  ????????????//6.執行查詢操作  ????????????ResultSet?rs=pstmt.executeQuery();  ????????????//7.對結果集進行處理  ????????????if(rs.next()){  ????????????????System.out.println("恭喜您,"+username+"登錄成功!");  ????????????}else{  ????????????????System.out.println("賬號或密碼錯誤!");  ????????????}  ????????????if(rs!=null)?rs.close();  ????????????if(pstmt!=null)?pstmt.close();  ????????????if(conn!=null)?conn.close();????????????  ????????}  ????}

右擊Run As->JUnit Test,執行結果為:恭喜您,zhangsan登錄成功!

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享