最近寫了一個java連接SQLServer數據庫的程序,複製如下:
import java.sql.*;
public class TestJdbc {
/**
* JDBC編程--連接SqlServer
*/
public static void main(String[] args) {
String url = "jdbc:sqlserver://localhost:1433; DatabaseName=Test1";
String user = "sa";
String password = "123456";
Connection con =null;
PreparedStatement pstm = null;
//ResultSet rs = null;
String sql = "insert into test1 values (?,?)";
if(args.length>2){
System.out.println("請輸入正確的參數個數");
System.exit(-1);
}
int sno = Integer.parseInt(args[0]);
String sdept = args[1];
try {
//加載驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//建立數據庫的連接
con = DriverManager.getConnection(url, user, password);
//發送SQL請求
pstm = con.prepareStatement(sql);
pstm.setInt(1, sno);
pstm.setString(2, sdept);
//執行sql語句
pstm.executeUpdate();
/*rs = stm.executeQuery(sql);
//通過遍歷查詢結果集
while(rs.next()){
System.out.println(rs.getString("sno") + " "+rs.getString("sdept"));
}*/
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try{
if(pstm != null) pstm.close();
//if(rs != null) rs.close();
if(con != null)con.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
}
現在對java連接各種類型的數據庫,步驟做一個總結:
1.加載JDBC的驅動:
有三種可行的方法:
方法一:Class.forName(DriverManager); //最常用的方法
sqlserver數據庫的驅動名稱:com.microsoft.sqlserver.jdbc.SQLServerDriver另外兩種數據庫的驅動名稱下面給出:
Oracle的DriverName=“oracle.jdbc.driver.OracleDriver“;
MySql的DriverName=“com.mysql.jdbc.Driver“;
Class.forName(DriverName).newInstance();
方法三:直接創建一個驅動對象:new oracle.jdbc.driver.OracleDriver();
2.建立與數據庫的連接
Connection con = DriverManager.getconnection(String URL,String user,String password);
sqlserver的URL: jdbc:micsoft:sqlserver://localhost:1433/數據庫名;
另外兩種數據庫URL的書寫格式如下:
1) Oracle URL格式爲:
jdbc:oracle:thin:(協議)@xxx。Xxx。xxx。xxx:xxx(ip地址及端口號):xxx(所使用的數據庫名字)
例:jdbc:oracle:thin:@localhost:1521:ambow;
2)MySql URL的寫法:
例:jdbc:mysql:// localhost:3306 / 數據庫名;
3.創建一個Statement或者PreparedStatement,來發送sql請求;Statement stm= con.createStatement();
PreparedStatement pstm=con.prepareStatement(sql);
4.執行SQL語句:ResultSet rs= stm.executeQuery(sql);
ResultSet rs=pstm.executeQuery();
5.遍歷獲取查詢結果集:(只針對查詢語句)
while(rs.next()){
System.out.print(rs.getString("列名") + " ");
}
6.關閉Statement,ResultSet, Connection:
原則是後打開的先關閉;