想實現java用JDBC連接MySQL數據庫。需要有幾個准備工作:
1.下載Connector/J的庫文件,下載Connector/J的官網地址:http://www.mysql.com/downloads/connector/j/
2.MySQL數據庫安裝包的下載和安裝:http://pan.baidu.com/s/1sleNubV
3.在dos命令窗口中對mysql進行配置和使用。配置如下:
①在開始菜單的搜索框中輸入“cmd”命令。
②把安裝mysql軟件的路徑到bin目錄下輸入到dos界面(這個是我mysql軟件安裝的路徑)
③注冊MYSQL清單,我這里面是一定存在的了。
④請求服務器啟動:
⑤輸入mysql的用戶名和密碼:
⑥看mysql數據庫中現在有什么數據庫(記得加分號):
⑦如果以上語句順利進行,mysql就可以使用了。例如:在dos窗口中輸入sql語句,創建數據庫student,用數據庫student,在數據庫中創建表格stu,在表中插入數據。
在表中添加數據
查詢數據。
到此數據庫的准備完畢。
4.在編程軟件中新建項目,在項目中新建包,在包中新建類。
在項目中新建一個lib文件夾。
5.把之前下載的Connector/J.jar文件,粘貼到lib文件夾中。
6.右擊項目名,點擊最下方的屬性propertirs,點擊應用就可以了。
准備工作准備完。對代碼進行實現:
package TestOne; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; public class MyTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { // 1.驅動 Class.forName("com.mysql.jdbc.Driver"); // 2.URL String url = "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=gbk"; // 3.Connection String user = "root"; String password = "123456"; Connection conn = (Connection) DriverManager.getConnection(url, user, password); // 4.Statement執行環境 Statement stat = (Statement) conn.createStatement(); // 5.執行execute stat.execute("insert into stu values('8','lusi',25)"); ResultSet rq = stat.executeQuery("select * from stu"); // 6.結果集 while (rq.next()) { System.out.println("學號:" + rq.getString("id") +" "+ "姓名:" + rq.getString("name") + " "+"年齡:" + rq.getString("arg")); } // 7.關閉流 if (rq != null) { rq.close(); } if (stat != null) { stat.close(); } if (conn != null) { conn.close(); } } }
最后的執行結果在控制台輸出:
代碼實現的詳細步驟:
1.加載JDBC驅動程序
2.提供jdbc連接的URL
3.創建數據庫的連接。
DriverManager.getConnection的結果復制給 Connection類的對象
4.創建一個Statement
有三種情況:1)執行靜態的Statement類。 Statement stat=conn.createStatemnent();
2)執行動態的preparedStatement類。 PreparedStatement pstat=conn. PreparedStatement(sql);
3)執行數據庫存儲過程CallableStatement類。CallableStatement cpstat=conn.CallableStatement({ , });
5.執行SQL語句
有三種執行的方法:
1)執行查詢語句: ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
2)執行增刪改查創建表格和刪除表格語句:int rows = stmt.executeUpdate("INSERT INTO ...") ;
3)用於執行返回多個結果集: boolean flag = stmt.execute(String sql) ;
6.處理結果
7.關閉JDBC對象
關閉順序和聲明順序相反