Sql Server資料庫是一個常用的資料庫軟體,它是微軟產品,但是也對JDBC操作提供了支援。
操作:
<1>首先要從微軟的官方網站下載JDBC的驅動jar包檔案,本人已經下好:點擊開啟連結
把它的驅動jar包放在應用程式的CLASSPATH下,在這是web開發,所以可以放在WebRoot/WEB-INF/lib下。
把jar包添加在應用程式CLASSPATH下:
對sqljdbc.jar右鍵點擊
按照如片的方法進行:
這樣配置算是完成成了。
注意:Sql Server不同版本的驅動檔案是不一樣的。
Sql server的串連URL的格式如下:
jdbc:sqlserver://<server_name>:<1433>;DatabaseName=<db>
在<server_name>初填寫資料庫的IP地址,連接埠號碼預設為1433,最後以資料庫的名稱結尾。
下面是一個串連URL的執行個體:
jdbc:sqlserver://localhost:<1433>;DatabaseName=student
它的含義是串連本地連接埠號碼為1433的Sql Server資料庫,使用資料庫是"student"。
<2>資料庫部分
以下是串連資料庫的
之後建立一個資料庫,再資料庫下建立一個table。
具體案例:
package Utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DB {private static Connection con = null;private static Statement statement = null;private static ResultSet set = null;private String sql = "";// 載入SqlServer JDBC驅動private static String driverNameOfSqlServer = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// IP地址(改為自己的IP地址)private static String DatabaseIP = "localhost";// 資料庫使用者名稱private static String DatabaseUser = "sjf";// 資料庫密碼private static String DatabasePassword = "123456";// 資料庫名稱private static String DatabaseName = "pubs";// URLprivate static String DatabaseUrl = "jdbc:sqlserver://" + DatabaseIP + ":1433;DatabaseName = " + DatabaseName;//擷取一個資料庫的串連public Connection getConnection() {try {//註冊驅動程式Class.forName(driverNameOfSqlServer);// 擷取串連con = DriverManager.getConnection(DatabaseUrl, DatabaseUser,DatabasePassword);} catch (Exception e) {System.out.println("getConnection出現錯誤");e.printStackTrace();}return con;}//建立會話public Statement getStatement(Connection con){if(con != null){try {statement = con.createStatement();return statement;} catch (SQLException e) {System.out.println("getStatement出現錯誤");e.printStackTrace();}}return null;}//查詢public ResultSet getResultSetQuery(Statement statement,String sql) {if(statement != null){try {set = statement.executeQuery(sql);return set;} catch (SQLException e) {System.out.println("getResultSetQuery出現錯誤");e.printStackTrace();}}return null;}//增加,修改,刪除記錄public void getResultSetUpdate(Statement statement,String sql) {if(statement != null){try {statement.executeUpdate(sql);} catch (SQLException e) {System.out.println("getResultSetUpdate出現錯誤");e.printStackTrace();}}}//關閉串連public static void colse(Connection con){if(con != null){try {con.close();} catch (SQLException e) {e.printStackTrace();}}}//關閉會話public static void close(Statement statement){if(statement != null){try {statement.close();} catch (SQLException e) {e.printStackTrace();}}}//關閉查詢集public static void close(ResultSet set){if(set != null){try {set.close();} catch (SQLException e) {e.printStackTrace();}}}}
測試:
DB db = new DB();Connection con = db.getConnection();Statement statement = db.getStatement(con);String sql = "select * from dbo.jobs";ResultSet rs = db.getResultSetQuery(statement, sql);try {if(rs.next()){System.out.println("fdfsdfsdff"+rs.getString("job_desc"));}} catch (SQLException e) {e.printStackTrace();}