數據庫項目作業,需要數據庫連接 IDEA 進行操作,網上百度了很多博客,試了半天終於搞好了,寫篇博客記錄下。
雖然估計以后不會再配第二次了
一、下載驅動包
去 Micsoft 官網下載相應的驅動:下載 - JDBC Driver for SQL Server | Microsoft Docs,里面是微軟大佬寫好的各種連接 SQL Server 相關的類和函數,我們直接下最新版,然后就是建議稍微多留心一些官網里的說明,版本支持啥的要確保無誤。
下載並解壓后如下圖,記好安裝路徑,確保安裝路徑沒有空格,否則會導致后面無法正常加載驅動。(我就是被這個坑了,不知道是系統還是啥原因,它下載好的文件自動給我改名成帶空格的,然后就一直加載不了驅動,寄)
二、在 IDEA 中導入驅動包
下好了驅動包,我們就可以在項目中導入它,然后直接調用它里面封裝好的類和函數從而實現用 IDEA 對數據庫進行各種操作了,具體步驟如下:
首先在 IDEA 中新建一個純凈的 Java 項目。
Project SDK 選擇一個可以跟之前下載的驅動對應的版本即可。
新建純凈項目如下:
然后就需要把我們之前下好的驅動導入到 External Libraries 中,具體操作步驟如圖:
先在 File 里打開 Project Structure:
選到 Libraries,點那個➕號,選中 Java。
把之前下載好的驅動的路徑復制黏貼一下,選中相應版本的驅動,我的 JDK 版本是 9.0.4,所以選 jre8。
然后依次點擊中間的 OK,右下角的 Applay,右下角的 OK。
導入成功后如下圖:
三、連接數據庫
新建 Test 類,敲入模板代碼:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* @author olderciyuan
* @date 2021/12/1 18:34
*/
public class Test {
private static Connection dbConn = null;
public static void main(String[] args) {
try {
System.out.println("進來了");
// 1.加載驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); /* 網上的博客大多數要求寫這句 但實際上官方文檔中說最新版本的 JDBC 已經可以自動加載‘合適的’驅動了(詳情請看附錄3)
只要你正確導入了驅動 不寫也是 OK 的 ; 注意是‘合適的’驅動 如果你導入的驅動版本不對 就不行了 */
System.out.println("加載驅動成功!");
// 2.連接
String dbURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=tech1"; /*DatabaseName=你要操作的數據庫名 這里我要查詢teach1數據庫里的學生表 所以是 DatabaseName=tech1
也可以直接 jdbc:sqlserver://localhost:1433;integratedSecurity=true 選擇windows本地驗證登陸 */
dbConn = DriverManager.getConnection(dbURL, "olderciyuan", "11111111"); //確保這個賬號名和密碼是對的 能夠接入數據庫 基本就OK了
System.out.println("連接數據庫成功!");
String sql="select * from Student";
PreparedStatement statement=null;
statement=dbConn.prepareStatement(sql);
ResultSet res=null;
res=statement.executeQuery();
while(res.next()){
String title=res.getString("Sno");
System.out.println(title);
}
}catch(Exception e) {
e.printStackTrace();
System.out.println("連接數據庫失敗!");
}
}
}
運行結果:
至此,配置完成。
四、常見問題
我的 IDEA 是這學期在官網上下載的社區版,不同的版本界面之類的可能會稍有不同,但配置的核心都是一樣的(Eclipse 也是),即:去官網下載驅動包——項目中導入驅動包——按固定模板代碼連接數據庫。
這里再稍微總結一下配置過程中遇到的一些問題:
1、驅動加載失敗
如圖,會報這仨錯誤,第一個是調用了 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
的情況下卻找不到 SQLServerDriver
類,這個函數的參數就是一個路徑,相對路徑和絕對路徑都可以,一定要確保路徑正確,指向驅動包里的 SQLServerDriver
類,出現這個錯誤一般就是路徑輸錯了或者跟我一樣路徑帶了空格導致讀不到;
第二個是還沒把驅動導入到 External Libraries 中;
第三個是驅動版本出了問題。
本質都是驅動沒搞好,再按照上文所述仔細搞好來即可。
2、連接數據庫失敗
如圖,字面意思,連不上數據庫,首先測試一下直接在 SQL Server 上用這個賬號密碼能不能連上去,如果不能,就想辦法設置地能連上,具體怎么做這里不多加贅述。我也不太清楚
如果 SQL Server 上能連接,但 IDEA 這里連不上,那就簡單很多了,右擊此電腦——管理。
進入服務和應用程序——SQL Server 配置管理器——SQL Server 網絡配置里一直點——找到 TCP/IP,點開它,如果沒啟用的話啟用一下。
將 IP1 的 IP地址改為 127.0.0.1,TCP 端口改為 1433,動態端口改為 0;拖到最下面,IPALL 的 TCP 端口改為 1433,動態端口改為 0。
改了之后它會提醒你這個,我們先不急,全都改完了再重啟服務。
點開 SQL Native Client 11.0 配置——客戶端協議——找到 TCP/IP,沒啟用的話啟用一下它。
這兩個都整好之后重啟下服務,同樣是在這個界面點擊:服務和應用程序——服務,然后把帶 SQL Server 的服務能重啟的全都重啟一遍(我也不知道到底要重啟哪個,不同的電腦服務名可能會不一樣,總之全重啟,肯定沒問題)。
應該就 OK 了,還不行那我也不會了(逃)。
五、附錄
一些官網的資料。
附錄1
下載此驅動程序時,有多個 JAR 文件。 JAR 文件名表示它支持的 Java 版本。
附錄2
附錄3
