JDBC連接SQL Server2008基本格式及示例代碼

fmms 12年前發布 | 279K 次閱讀 JDBC Java開發

     下面的代碼顯示了連接SQL Server數據庫時,
連接數據庫的步驟:
1、注冊驅動 (只做一次)

2、建立連接(Connection)
3、創建執行SQL的語句(Statement)

4、執行語句

5、處理執行結果(ResultSet)

6、釋放資源


建立連接的方法:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
               //加載數據庫引擎,返回給定字符串名的類
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
              //test為你的數據庫的名稱
String user="用戶名";
String password="密碼";

Connection conn=DriverManager.getConnection(url,user,password);
                //連接數據庫對象
Statement stmt=conn.createStatement();
          //創建SQL命令對象


String query="";//創建表SQL語句
stmt.executeUpdate(query);//執行SQL命令對象

String a="INSERT/DELETE.... INTO/FROM “表名” VALUES(....,...)";
....
....
....
stmt.executeUpdate(a);//執行SQL命令對象

//讀取數據
ResultSet rs=stmt.executeQuery("SELECT * FROM “表名”");
//循環輸出每一條記錄    rs最初指向第一條記錄的前面
while(rs.next){

}

最后關閉連接
stmt.close();
con.close();

數據庫連接(Connection)是非常稀有的資源,用完后必須馬上釋放,
如果Connection不能及時正確的關閉將導致系統宕機。
Connection的使用原則是盡量晚創建,盡量早的釋放。
下面分別給出插入、修改、刪除、查詢的基本方式的代碼:

插入數據:

import java.sql.*;

/**
 * @version 2012-02-22
 * @author 
 */
public class InsertDemo {
    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        Statement stmt = null;
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL鏁版嵁搴撳紩鎿?
        String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest";//鏁版嵁婧惵?
        String user="sa";
        String pwd="sql";
        try {
            // 動態導入數據庫的驅動 
            Class.forName(JDriver);
            // 獲取數據庫鏈接 
            conn = DriverManager.getConnection(connectDB,user,pwd);
            // 創造SQL語句 
            String sql = "INSERT INTO JDBCTestTable ( user_name, user_password ) VALUES ( 'balabala', '123456' )";
            // 執行SQL語句 
            stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("插入數據成功");
        } catch (Exception e) { 
            e.printStackTrace();
            stmt.close();
            conn.close();
        }
    }
}
修改數據:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class UpdateDemo {

    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        Statement stmt = null;
        try {
            // 動態導入數據庫的驅動
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            // 獲取數據庫鏈接
            conn = DriverManager.getConnection(
                    "jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest",
                    "sa", "sql");
            // 創造SQL語句
            String sql = "UPDATE JDBCTestTable SET user_password = '456' WHERE user_name = 'Eric'";
            // 執行SQL語句
            stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            System.out.println("更新數據成功");
        } catch (Exception e) {
            e.printStackTrace();
            stmt.close();
            conn.close();
        }
    }
}
刪除數據:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DeleteDemo {

    public static void main(String[] args){
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest";
        String user="sa";
        String password="sqlyanghai";
        try{
            Class.forName(JDriver);// 動態導入數據庫的驅動
            Connection conn=DriverManager.getConnection(url, user, password);// 獲取數據庫鏈接 
            String query="DELETE FROM JDBCTestTable WHERE user_name='Eric'";// 創造SQL語句 
            Statement stmt=conn.createStatement();// 執行SQL語句
            stmt.executeUpdate(query);
            System.out.println("刪除數據成功");
            stmt.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
查詢數據:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class QueryDemo {

    public static void main(String[] args){
        String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest";
        String user="sa";
        String password="sql";
        try{
            Class.forName(JDriver);// 動態導入數據庫的驅動
            Connection conn=DriverManager.getConnection(url, user, password);// 獲取數據庫鏈接 
            String query="SELECT * FROM JDBCTestTable";// 創造SQL語句 
            Statement stmt=conn.createStatement();// 執行SQL語句
            ResultSet rs=stmt.executeQuery(query);
            while(rs.next()){
                System.out.println(rs.getString("user_name")+":"+rs.getString(2));
                //密碼字段的編號從1開始,密碼排第二位
            }
            System.out.println("查詢數據成功");
            rs.close();
            stmt.close();
            conn.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
轉自:http://blog.csdn.net/yanghai0321/article/details/7288363

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!