這里面我們所連接的數據庫是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();
}
}
為了我們共同進步,我這里有計算機專業的各種視頻,
如果想要,關注我的公眾號:念流聲。私聊我,看到后給你連接(只放了一張圖片,視頻有很多,需要什么可以私聊問我,有的話就給你)。

