本篇介紹用JDBC連接數(shù)據(jù)庫時(shí)各代碼的含義。 1、指定JDBC驅(qū)動(dòng)程序 調(diào)用Java.lang.Class類的forName()方法指定JDBC驅(qū)動(dòng)程序類。 要注意的是,不同的數(shù)據(jù)庫其forName()方法中的參數(shù)是不一樣的;就算是同一數(shù)據(jù)庫,版本不一樣,其參數(shù)也有可能不一樣。 我的是SQL Server 2008版,故其代碼為: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 如果是MySql數(shù)據(jù)庫,其代碼應(yīng)為: Class.forName("com.mysql.jdbc.Driver"); 2、連接指定數(shù)據(jù)庫 調(diào)用Java.lang.DriveManager類中的getConnection()方法連接指定數(shù)據(jù)庫。 DriverManager.getConnection(url,userName,userPwd); 其中,url是JDBC數(shù)據(jù)源,userName是安裝數(shù)據(jù)庫時(shí)的賬戶名,SQLserver的默認(rèn)賬戶一般是sa,userPwd是登陸數(shù)據(jù)庫時(shí)的密碼。 數(shù)據(jù)庫連接的結(jié)果一般是存儲在Connection的對象中。 如我的代碼: Connection conn=DriverManager.getConnection(url,userName,userPwd); 3、Statement語句對象 Statement st=conn.createStatement();表示的是根據(jù)與對應(yīng)數(shù)據(jù)庫的連接,創(chuàng)建一個(gè)Statement對象 4、ResultSet 執(zhí)行SQL語句的結(jié)果要放在ResultSet對象中。 如: ResultSet rs = st.executeQuery(sql); 要注意的是,不同的SQL語句執(zhí)行的方法是不一樣的。 上例是查詢語句的方法,若是插入語句,則用的是:excuteUpdate(sql)方法。 例:查詢并輸出數(shù)據(jù)庫中某一張表的數(shù)據(jù)。 在做本例之前,我已經(jīng)在數(shù)據(jù)庫中添加了一些數(shù)據(jù)。 另,連接數(shù)據(jù)庫的類與上篇一致,代碼就不再重復(fù)帖在這里了。 import java.sql.*; public class Test_ex { private SQLclass consql; ResultSet rs; int i; public Test_ex(){ String sql="select *from layuser"; consql=new SQLclass(sql); rs=consql.get_ResultSet(); try{ while(rs.next()){ System.out.print("ID:"+rs.getInt(1)+"\t"); //getInt()是因?yàn)樵跀?shù)據(jù)庫里第一列定義的是int類型,()參數(shù)若是數(shù)字,對應(yīng)的是數(shù)據(jù)庫表的第幾列,也可以直接用字段名 System.out.print("username:"+rs.getString(2)+"\t"); System.out.print("password:"+rs.getString("password")); System.out.println(); } } catch(Exception e){} } public static void main(String args[]){ new Test_ex(); } } 其運(yùn)行結(jié)果如下: 與數(shù)據(jù)庫中的數(shù)據(jù)一致。 |
|