JDBC簡介
今天,研究了下JDBC連接SQL Server2008的過程,為了日後學習的方便,就把自己的心得寫出來,供自己日後參考,如果這篇文章對您有所幫助,那就更好了。
首先,大家需要知道的是JDBC僅僅是一個接口,通過JDBC去加載對應的驅動程序,進而來操作數據庫。換句話說,JDBC需要依賴對應數據庫的驅動程序才可以訪問數據庫。所以,當我們在機器上安裝了一個數據庫後,應用程序是不能直接操作數據庫的,只有安裝了對應的驅動程序後,應用程序才可以通過驅動程序去操作數據庫。 JDBC全稱:
Java Data Base Connectivity(java數據庫連接)
組成JDBC的2個包: Java.sql和javax.sql
開發JDBC應用時除了需要以上2個包的支持外,還需要導入相應JDBC的數據庫實現(即數據庫驅動)
JDBC案例實戰
下面我們通過一個簡單的增刪改查案例來看下JDBC如何與數據庫交互,今天我們探討的是與SQL Server2008如何交互。因為SQL Server2000的服務端口默認為1433
不需要配置。而2008的端口為動態端口,所以我們以2008為例講解。
第一步:搭建實驗環境
1,
在SQL server 2008中創建一個Myschool數據庫,並創建Admin表
Admin表中就兩個字段(LoginId,LoginPwd),並且都是nvarchar類型,由於這個過程比較簡單,我們就不再贅述。
2,
編寫程序,在程序中加載數據庫驅動
我們打開Eclipse或者Myeclipse發開環境,新建一個java項目。
我這裡以Myeclipse 10.0為例講解。
新建一個java項目,命名為javaJDBC,新建一個Java類,命名為MyFirstCon.java,
然後對項目javaJDBC點擊右鍵添加一個lib文件夾,將sqljdbc4.jar復制到lib文件夾中。對sqljdbc4點右鍵
點擊Add to Build Path,然後導入如下命名空間:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
接下來,我們就可以編寫代碼了,但是上面我們提到SQL Server 2008中端口為動態的。
那麼如何使端口成為固定端口呢?我們需要設定一下:
找到Sql Server下的配置管理器,找到SQL server 網絡配置,然後找到本機上安裝的數據庫實例 這裡我們選中Happy的協議,然後雙擊右側列表中的Tcp/IP,切換到IP地址選項卡,
找到IP地址為127.0.0.1的IP地址,將已啟動屬性設置為是,
然後找到IPAll節點
然後點擊應用,最後點擊確定就可以了。
然後,按照設置,將已啟用屬性設置成是。
切記:設置完成後要重新啟動SQL Server服務。
二、編寫代碼
以下代碼均寫在Main方法中
Connection con=null; 加載驅動
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (Exception e) {
e.printStackTrace();
}
2,獲取與數據庫連接
con=DriverManager.getConnection("jdbc:sqlserver://happy\\happy:1435;DatabaseName=Myschool","sa","123");
3, 獲取用於向sql發送命令的statement
Statement stmt=null;
stmt=con.createStatement();
4, 向數據庫發送SQL命令
String sql="insert into admin values('1112','1112') ";
if(stmt.executeUpdate(sql)>0){
System.out.println("新增數據成功");
}else {
System.out.println("新增數據失敗!");
}
5.關閉連接
Stmt.close()
Con.close();
好了,第一個新增的案例完成。
在講解下述內容前,我們先來看下Statement的常用方法
Statement常用方法
01.executeQuery(String sql):執行sql查詢並獲取到ResultSet對象,返回值為ResultSet 02.executeUpdate(String sql):可以執行插入、刪除、更新等操作,返回值是執行該操作所影響的行數,int類型。
03,execute(String sql):可以執行任意SQL語句,然後獲得一個布爾值,表示是否返回Result。 /***************************Update*****************************/ //更新 String sql="update admin set loginpwd='111' where loginid='112'";
stmt.executeUpdate(sql); /*************************delete*****************************/ //刪除
String sql="delete from admin where loginid='1112'";
stmt.executeUpdate(sql); /*************************select*****************************/ //查詢
String sql="select * from admin";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString("loginid"));
System.out.println(rs.getString("loginpwd"));
}
PreparedStatement接口
PreparedStatement接口繼承Statement接口,比普通的Statement對象使用起來更加靈活,更有效率,使用方式和Statement相同
以上是給大家帶來java中使用JDBC連接SQLServer 2008數據庫的內容,希望大家繼續支持我們的51精品。