java中使用jdbc連接sql server數(shù)據(jù)庫步驟:
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站建設、成都網(wǎng)站建設、鄖西網(wǎng)絡推廣、重慶小程序開發(fā)、鄖西網(wǎng)絡營銷、鄖西企業(yè)策劃、鄖西品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供鄖西建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
1.JDBC連接SQL Server的驅(qū)動安裝 ,前兩個是屬于數(shù)據(jù)庫軟件,正常安裝即可(注意數(shù)據(jù)庫登陸不要使用windows驗證)
1 將JDBC解壓縮到任意位置,比如解壓到C盤program files下面,并在安裝目錄里找到sqljdbc.jar文件,得到其路徑開始配置環(huán)境變量
在環(huán)境變量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar
2 設置SQLEXPRESS服務器:
a.打開SQL Server Configuration Manager - SQLEXPRESS的協(xié)議 - TCP/IP
b.右鍵單擊啟動TCP/IP
c.雙擊進入屬性,把IP地址中的IP all中的TCP端口設置為1433
d.重新啟動SQL Server 2005服務中的SQLEXPRESS服務器
e.關閉SQL Server Configuration Manager
3 打開 SQL Server Management Studio,連接SQLEXPRESS服務器, 新建數(shù)據(jù)庫,起名字為sample
4 打開Eclipse
a.新建工程- Java - Java project,起名為Test
b.選擇eclipse-窗口-首選項-Java-installed JRE 編輯已經(jīng)安裝好的jdk,查找目錄添加sqljdbc.jar
c.右鍵單擊目錄窗口中的Test, 選擇Build Path -Configure Build Path..., 添加擴展jar文件,即把sqljdbc.jar添加到其中
5 編寫Java代碼來測試JDBC連接SQL Server數(shù)據(jù)庫
如果直接用java代碼連接數(shù)據(jù)庫的話,1.導入數(shù)據(jù)庫驅(qū)動包,2.加載數(shù)據(jù)庫驅(qū)動,3.Connection連接數(shù)據(jù)庫就好;
如果要數(shù)據(jù)庫連接池技術就要配置了
用這個類吧.好的話,給我加加分.
import java.sql.*;
/**
* @功能: 一個JDBC的本地化API連接類,封裝了數(shù)據(jù)操作方法,只用傳一個SQL語句即可
* @作者: 李開歡
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 這里可以將常量全部放入另一個類中,以方便修改
*/
private static Connection conn;
private static Statement ps;
private static ResultSet rs;
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
private static final String USER ="sa";
private static final String PASS = "sa";
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection();
}
public static Connection getConnection(){
System.out.println("連接中...");
try {
Class.forName(ConnectionDemo.DRIVER);
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);
System.out.println("成功連接");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement getStatement(String sql){
System.out.println("執(zhí)行SQL語句中...");
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql);
System.out.println("執(zhí)行完查詢操作,結(jié)果已返回ResultSet集合");
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢刪除操作");
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢增加操作");
}else{
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢更新操作");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ps;
}
public static ResultSet getResultSet(){
System.out.println("查詢結(jié)果為:");
return rs;
}
public static void closeConnection(){
System.out.println("關閉連接中...");
try {
if (rs != null) {
rs.close();
System.out.println("已關閉ResultSet");
}
if (ps != null) {
ps.close();
System.out.println("已關閉Statement");
}
if (conn != null) {
conn.close();
System.out.println("已關閉Connection");
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection();
String sql = "delete from type where id = 1";
ConnectionDemo.getStatement(sql);
String sql2 = "insert into type values(1,'教學設備')";
ConnectionDemo.getStatement(sql2);
String sql1 = "select * from type";
ConnectionDemo.getStatement(sql1);
ResultSet rs = ConnectionDemo.getResultSet();
System.out.println("編號 "+"類 型");
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ");
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ConnectionDemo.closeConnection();
}
}
Connection conn=null;
conn= tConnection("....");
能夠編譯通過,就說明連接成功了
你可以在這句后面加一句 intln("連接成功");
這樣可以測試一下,如果顯示了“連接成功”就說明連接數(shù)據(jù)庫沒問題
java鏈接數(shù)據(jù)庫(mysql)---JDBC如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.Test;
public class GetConnect {
private Connection conn; //Connection連接 導包(import java.sql.DriverManager;)在數(shù)據(jù)庫中一般來說JDBC是SQL包
// 獲得翻譯官: 加載驅(qū)動
//加載驅(qū)動
static{//靜態(tài)塊:在所有方法包括構造函數(shù)之前,執(zhí)行.
try {
Class.forName("com.mysql.jdbc.Driver");
// (驅(qū)動實現(xiàn)了接口)mysql-connector-java-5.1.22-bin.jar (jar包)JDBC接口的實現(xiàn) 是外部的 需要引入
//使用映射的方式,引入驅(qū)動。
//("com.mysql.jdbc.Driver")是驅(qū)動的入口在
//Driver是驅(qū)動的意思在mysql-connector-java-5.1.22-bin.jar (jar包)中com.mysql.jdbc包中有個Driver類
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//獲得鏈接: 打通電話
@Test //junit的測試 測試方法,讓它運行起來
//報錯(Test下有紅線),錯誤信息如何提醒:Ctrl+1(快捷鍵) 光標放在錯誤(test)上 Ctrl+1 添加JUnit jar包
//JUnit jar包 既:Add JUnit 4 library to the build path
//添加進去后進行測試:如圖:(8--JUnit測試截圖);測試成功報 綠線 否則 紅線 如圖:(8--JUnit測試截圖)
public void getConnect() {
try {
/*url: 鏈接到哪一個數(shù)據(jù)庫實例
* jdbc:mysql://IP或者localhost:3306/數(shù)據(jù)庫名
* jdbc:(是個協(xié)議jdbc協(xié)議)mysql:(是個子協(xié)議) IP或者localhost(是個地址) 3306(端口號)
* user: 用戶名
* password:登陸密碼
*
*/
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
//java里面一切皆對象,com.mysql.jdbc.Driver是個驅(qū)動,也有對象 DriverManager驅(qū)動管理對象
// com.mysql.jdbc.Driver是入口,DriverManager管理這個入口
//getConnection獲得鏈接,獲得實例 返回值:Connection類型 conn獲得的實例
//DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (conn!=null) {
System.out.println("鏈接成功!"); //getConnection這個實例--》conn到底獲得了沒有--》conn!=null 表示 獲得了
} else {
System.out.println("鏈接失敗!");
}
}
//寫完代碼之后讓它運行的2種方式:1 使用傳統(tǒng)main() 2 Junit 單元測試
// junit: 將"@Test"放在要執(zhí)行的方法前,要求被測試的方法沒有參數(shù),沒有返回值. 通常要求方法時public.
}
1、加載驅(qū)動程序。
2、創(chuàng)建連接對象。
3、創(chuàng)建sql語句執(zhí)行對象 。
4、執(zhí)行sql語句。
5、對執(zhí)行結(jié)果進行處理。
6、關閉相關的連接對象即可(順序跟聲明的順序相反)。
處理結(jié)果兩種情況:
1、執(zhí)行更新返回的是本次操作影響到的記錄數(shù)。
2、執(zhí)行查詢返回的結(jié)果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,并且它通過一套get方法提供了對這些 行中數(shù)據(jù)的訪問。
擴展資料:
Statement
要執(zhí)行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:
1、執(zhí)行靜態(tài)SQL語句。通常通過Statement實例實現(xiàn)。
2、執(zhí)行動態(tài)SQL語句。通常通過PreparedStatement實例實現(xiàn)。
3、執(zhí)行數(shù)據(jù)庫存儲過程。通常通過CallableStatement實例實現(xiàn)。
參考資料:百度百科JAVA