Java連線SQLserver資料庫
首先,需要有一個數據庫,我用的是SQL server 2008版,然後需要去下載一個JDBC驅動,我用的是JDBC for SQLserver 6.0版本,可以去下載這個
sqljdbc_6.0.8112.100_chs.tar.gz: https://page63.ctfile.com/fs/15198163-215756610
下載解壓之後裡面會有jre7與jre8,他們兩個功能一樣的,只是對應不同版本。
接下來就要開始連線資料庫啦
(1)用windows驗證方式連線資料庫:這種方式可能要求管理員許可權,至少部分情況下會導致無法正常訪問資料庫。因此不建議採用!
(2)用sql server身份驗證方式連線資料庫。
如果安裝sql server 2008 時是以windows身份驗證安裝的,使用者都是sa,密碼是你在裝資料庫時設定的。
再接下來,要將JDBC驅動包新增到要連線資料庫的工程下:
1.右擊要匯入jar包的專案工程,點選properties
2.左邊選擇java build path,右邊選擇libraries
3.選擇add External jars
4.選擇jar包的所在路徑下的sqljdbc4.jar,點選開啟。
準備工作就完成了,接下來就要開始連線了
我建的資料庫名為test1
,其中建了一個叫做Student的表,有sno 、 sname 、sage三個屬性。
連線資料庫程式碼:
String url = "jdbc:sqlserver://localhost:1433;DatabaseName= XXXX;";
conn = DriverManager.getConnection(url ,"sa","XXXX");
其中第一個XXXX是你要連線的資料庫的名字,第二行的XXXX是你資料庫使用者密碼、
完整程式碼:
在用Java連線資料庫之前,先建立一個數據庫或者匯入一個數據庫,然後Java連線並訪問該資料庫!
package JDBC_Test;import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class Test {
public static void main(String[] args) {
Connection conn;
Statement stmt;
ResultSet rs;
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test1;";
String sql = "select * from student";
try {
// 連線資料庫
conn = DriverManager.getConnection(url, "sa", "sqlnext");
// 建立Statement物件
stmt = conn.createStatement();
/**
* Statement createStatement() 建立一個 Statement 物件來將 SQL 語句傳送到資料庫。
*/
// 執行資料庫查詢語句
rs = stmt.executeQuery(sql);
/**
* ResultSet executeQuery(String sql) throws SQLException 執行給定的 SQL
* 語句,該語句返回單個 ResultSet 物件
*/
while (rs.next()) {
int id = rs.getInt("Sno");
String name = rs.getString("Sname");
int age = rs.getInt("Sage");
System.out.println("Sno:" + id + "\tSame:" + name + "\tSage:" + age);
}
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
System.out.println("資料庫連線失敗");
}
}
}
程式執行結果為:
Sno:200215121Same:李永 Sage:20
Sno:200215122Same:張三 Sage:19
Sno:200215123Same:王思 Sage:21
Sno:200215124Same:畢羽 Sage:20
。