這里面我們所連接的數據庫是mysql數據庫,Oracle數據庫暫且先不討論,並且mysql中的基本語法,這里面也不在一一表述了,但是看這篇文章之前,最好先仔細的連接mysql的基本語法,看起來方便~
接下來我主要通過幾個步驟來整體的實現使用eclipse來連接數據庫的操作。
1.關於mysql的圖形化開發工具SQLYog
在前面的文章中,我有說明如何下載數據庫。在下載完數據庫之后,我們只能在cmd控制台通過執行mysql -u root -p ***來打開數據庫,並且執行操作,但是在控制台要對數據庫的一些表進行操作實在是太麻煩(只要一個字符寫錯就需要全部重寫) ,因此在這里我使用SQLyog這個軟件來連接我的mysql,使其可以可視化的打開。下面是關於SQLYog的配置:
(1).安裝
傻瓜式安裝即可,文件也不是很大。
(2).使用方法
輸入用戶名、密碼,點擊連接按鈕,進行訪問MySQL數據庫進行操作
在Query窗口中,輸入SQL代碼,選中要執行的SQL代碼,按F8鍵運行,或按執行按鈕運行。
上述實現之后,我們就大體實現了mysql的圖形化界面的安裝啦~
2.通過ecplise連接數據庫的操作
(1).導入jar包
我們需要在mysql官網下載java連接mysql的jar包,下載地址:https://blog.csdn.net/zuoshangan1989/article/details/51274852。
在下載完jar包之后,我們需要將我們的jar包導入到我們的java代碼中
這個文件是java連接mysql的jar包,並且我已經解壓完成了。
用鼠標點擊右鍵復制該文件,之后打開ecplise
假設我所建立的工程是java_mysql,這時我們在這個工程里建立一個文件夾lib,並且將之前我們復制的jar文件復制到這個文件夾中,之后,我們在lib點擊右鍵,點Build Path->Configure Build Path-->Libraries-->Add External JARs(添加本地jars包)-->Apply
這樣我們就將這個jar包導入到我們的工程中
導入完之后自動會生成這個文件。
(2).java連接數據庫的操作步驟
連接數據庫的操作步驟主要分成下面5個步驟:
1).注冊驅動,使用反射技術,固定的格式
2).獲取數據庫的連接,DriverManager類中的靜態方法,static Connection getConnection(String url,String username,String password),返回值是Connection接口的實現類,在mysql驅動程序中。
url的格式為:(數據庫的的地址)jdbc:mysql://連接主機的IP(本地主機為localhost):端口號(一般是3306)//數據庫的名字
3).獲取語句執行平台,通過數據庫連接對象,獲取SQL語句的執行者對象
假設第二步我們返回的Connection接口的實現類對象為con,接下來,我們通過con對象調用方法,Statement createStatement()來獲取Statement對象,將SQL語句發送到數據庫
返回值是Statement接口墊額實現類對象,在mysql驅動程序中
4).執行SQL語句
5).釋放資源
下面的代碼,表示的是用java代碼來實現連接數據庫的操作
package mysql_demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Statement; public class mysql_demo { public static void main(String[] args) throws ClassNotFoundException, SQLException { // TODO Auto-generated method stub //1.注冊啟動,使用反射技術,固定格式 Class.forName("com.mysql.jdbc.Driver"); //2.獲取數據庫連接,DriverManager類中的靜態方法 //static Connection getConnection(String url,String user,String password) //返回值是Connection接口的實現類,在mysql驅動程序中 //url的格式:數據庫地址 jdbc:mysql://連接主機IP:端口號//數據庫名字 String url = "jdbc:mysql://localhost:3306/mybase"; String root = "***"; String password = "***"; Connection con = DriverManager.getConnection(url,root,password); // System.out.println(con); //3.獲取語句執行平台,通過數據庫連接對象,獲取到SQL語句的執行者對象 //con對象調用方法,Statement createStatement() 獲取Statement對象,將SQL語句發送到數據庫 //返回值是Statement接口的實現類對象,在mysql驅動程序中 Statement stat = (Statement) con.createStatement(); //4.執行sql語句 //通過執行者對象調用方法執行SQL語句,獲取結果 //int executeUpdate(String sql) 執行數據庫中的SQL語句,inset,delete,update //返回值是int,操作成功數據表多少行 // String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES('手機11','5999','iphone11')"; // int row = stat.executeUpdate(sql); // System.out.println(row); //查詢SQL語句 String sql = "SELECT * FROM sort"; //ReaultSet executeQuery(String sql) 執行SQL語句中的select查詢 //返回值ResultSet接口的實現類對象,實現類在mysql驅動中 ResultSet rs = stat.executeQuery(sql); System.out.println(rs); while(rs.next()){ //獲取每列的數據,使用的是ResultSet接口的getXXX方法,寫String列名 System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+" "+rs.getDouble("sprice")+" "+rs.getString("sdesc")); } //6.釋放資源 rs.close(); stat.close(); con.close(); } }
(3).為了防止SQL注入攻擊。我們引入了prepareStatement
更新操作:(刪除,修改,添加操作同理)
package mysql_demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class mysql_update { /* * 使用PrepareStatement接口實現數據表的更新操作 * * */ public static void main(String[] args) throws ClassNotFoundException, SQLException { // TODO Auto-generated method stub //注冊驅動 Class.forName("com.mysql.jdbc.Driver"); //獲取連接對象 String url = "jdbc:mysql://localhost:3306/mybase"; String username = "***"; String password = "***"; Connection con = DriverManager.getConnection(url,username,password); //拼寫修改的SQL語句,參數用? String sql = "Update sort SET sname = ?,sprice=? WHERE sid = ?"; //調用連接對象con的方法prepareStatement來獲取sql語句的預編譯對象 PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); pst.setObject(1, "娃哈哈"); pst.setObject(2, 111); pst.setObject(3, 7); System.out.println(pst); //執行SQL語句 pst.executeUpdate(); //關閉資源 pst.close(); con.close(); } }
查詢操作
package mysql_demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.PreparedStatement; public class mysql_select { public static void main(String[] args) throws Exception{ //注冊驅動 Class.forName("com.mysql.jdbc.Driver"); //獲取連接對象 String url = "jdbc:mysql://localhost:3306/mybase"; String username = "***"; String password = "***"; Connection con = DriverManager.getConnection(url,username,password); String sql = "SELECT * FROM sort"; PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql); //調用pst對象的方法,實現查詢操作 ResultSet rs = pst.executeQuery(); while(rs.next()){ System.out.println(rs.getString("sid")+" "+rs.getString("sname")+" "+rs.getString("sprice")+" "+rs.getString("sdesc")); } //關閉資源 rs.close(); pst.close(); con.close(); } }
為了我們共同進步,我這里有計算機專業的各種視頻,
如果想要,關注我的公眾號:念流聲。私聊我,看到后給你連接(只放了一張圖片,視頻有很多,需要什么可以私聊問我,有的話就給你)。