新聞中心
隨著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)庫(kù)的應(yīng)用越來(lái)越廣泛。在Java開(kāi)發(fā)中,我們經(jīng)常需要使用JDBC來(lái)操作數(shù)據(jù)庫(kù),而正確地加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句是使用JDBC的之一步。本文將介紹。

一、什么是數(shù)據(jù)庫(kù)驅(qū)動(dòng)
數(shù)據(jù)庫(kù)驅(qū)動(dòng)是連接Java程序和數(shù)據(jù)庫(kù)的橋梁,它能夠讓Java程序操作各種不同的數(shù)據(jù)庫(kù)。因?yàn)椴煌臄?shù)據(jù)庫(kù)之間的語(yǔ)法和API都不相同,所以使用不同的數(shù)據(jù)庫(kù)驅(qū)動(dòng)就需要不同的代碼來(lái)操作。在Java中,我們可以通過(guò)JDBC(Java Database Connectivity)來(lái)操作各種數(shù)據(jù)庫(kù),而驅(qū)動(dòng)就是JDBC連接數(shù)據(jù)庫(kù)的關(guān)鍵。
二、數(shù)據(jù)庫(kù)驅(qū)動(dòng)加載
正確地加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句可以讓我們連接數(shù)據(jù)庫(kù),而錯(cuò)誤的加載方式則會(huì)導(dǎo)致連接失敗。在加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句時(shí),需要注意以下幾個(gè)問(wèn)題:
1.引入驅(qū)動(dòng)包
驅(qū)動(dòng)在不同的數(shù)據(jù)庫(kù)系統(tǒng)中可能是不同的,需要找到對(duì)應(yīng)系統(tǒng)的驅(qū)動(dòng)包,然后將其引入到項(xiàng)目中。一般來(lái)說(shuō),驅(qū)動(dòng)包都會(huì)提供給用戶一個(gè).jar包,直接將它放到項(xiàng)目的classpath路徑下即可。
2.靜態(tài)代碼塊或者反射
一般情況下,我們可以使用靜態(tài)代碼塊或者反射來(lái)加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)。靜態(tài)代碼塊是指一段類中的代碼塊,這段代碼只在類加載的時(shí)候執(zhí)行一次,因此可以用來(lái)加載驅(qū)動(dòng)。反射是指在程序運(yùn)行期間動(dòng)態(tài)獲取、調(diào)用類和對(duì)象的方法和屬性。使用反射來(lái)加載驅(qū)動(dòng)的優(yōu)點(diǎn)是可以靈活地根據(jù)實(shí)際需要加載不同的驅(qū)動(dòng)。
以下是使用靜態(tài)代碼塊來(lái)加載MySQL驅(qū)動(dòng):
static {
try {
Class.forName(“com.mysql.jdbc.Driver”);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
以下是使用反射來(lái)加載MySQL驅(qū)動(dòng):
String driver = “com.mysql.jdbc.Driver”;
Class.forName(driver).newInstance();
3.使用服務(wù)提供者機(jī)制
Java提供了JDBC服務(wù)提供者機(jī)制(Service Provider Mechani),通過(guò)這種機(jī)制,JDBC可以在運(yùn)行時(shí)自動(dòng)加載驅(qū)動(dòng)。要使用服務(wù)提供者機(jī)制,需要在META-INF/services/下創(chuàng)建一個(gè)文件名為java.sql.Driver的文件,內(nèi)容為驅(qū)動(dòng)類的全限定名。這樣,在連接數(shù)據(jù)庫(kù)時(shí),JDBC就會(huì)自動(dòng)找到并加載對(duì)應(yīng)的驅(qū)動(dòng)。
三、數(shù)據(jù)庫(kù)連接
加載了驅(qū)動(dòng)之后,我們需要連接數(shù)據(jù)庫(kù)。下面是連接MySQL的代碼示例:
String url = “jdbc:mysql://localhost:3306/test”; //數(shù)據(jù)庫(kù)地址
String user = “root”; //數(shù)據(jù)庫(kù)用戶名
String password = “123456”; //數(shù)據(jù)庫(kù)密碼
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(url, user, password);
//連接成功
stmt = conn.createStatement();
rs = stmt.executeQuery(“select * from users”);
while (rs.next()) {
System.out.println(rs.getString(“name”) + ” ” + rs.getInt(“age”));
}
} catch (SQLException e) {
//連接失敗
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
四、
加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句是使用JDBC的之一步,正確地加載可以使我們連接數(shù)據(jù)庫(kù),而錯(cuò)誤的加載方式會(huì)導(dǎo)致連接失敗。正確地加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句的方法包括引入驅(qū)動(dòng)包、靜態(tài)代碼塊或者反射、以及使用服務(wù)提供者機(jī)制。連接數(shù)據(jù)庫(kù)時(shí),需要提供數(shù)據(jù)庫(kù)地址、用戶名和密碼等信息,連接成功之后就可以進(jìn)行數(shù)據(jù)庫(kù)的增刪改查等操作了。
在Java中連接數(shù)據(jù)庫(kù)是一個(gè)廣泛的、必要的操作,我們需要掌握正確地加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句的方法,才能更好地使用JDBC來(lái)連接數(shù)據(jù)庫(kù)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
JDBC使用步驟過(guò)程
JDBC連接數(shù)據(jù)庫(kù)
?創(chuàng)建一個(gè)以JDBC連接數(shù)據(jù)庫(kù)的程序,包含7個(gè)步驟:
1、加載JDBC驅(qū)動(dòng)程序:
在連接數(shù)據(jù)庫(kù)之前,首先要加載想要連接的數(shù)據(jù)庫(kù)的驅(qū)動(dòng)到JVM(Java虛擬機(jī)),
這通過(guò)java.lang.Class類的靜態(tài)方法forName(String className)實(shí)現(xiàn)。
例如:
try{
//加載MySql的驅(qū)動(dòng)類
Class.forName(“com.mysql.jdbc.Driver”) ;
}catch(ClassNotFoundException e){
System.out.println(“找不銷(xiāo)咐到驅(qū)動(dòng)程序類 ,加載驅(qū)動(dòng)失??!”);
e.printStackTrace() ;
}
成功加載后,會(huì)將Driver類的實(shí)例注冊(cè)到DriverManager類中。
2、提供JDBC連接的URL
?連接URL定義了連接數(shù)據(jù)庫(kù)時(shí)的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識(shí)。
?書(shū)寫(xiě)形式:協(xié)議:子協(xié)議:數(shù)據(jù)源標(biāo)識(shí)
協(xié)議:在虧野純JDBC中總是以jdbc開(kāi)始子協(xié)議:是橋連接的驅(qū)動(dòng)程序或是數(shù)據(jù)庫(kù)管理系統(tǒng)名稱。
數(shù)據(jù)源標(biāo)識(shí):標(biāo)記找到數(shù)據(jù)庫(kù)來(lái)源的地址與連接端口。
例如:
(MySql的連接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:
表示使用Unicode字符集。如果characterEncoding設(shè)置為 gb2312或GBK,本參數(shù)必須設(shè)置為true 。characterEncoding=gbk:字符編碼方式。
3、創(chuàng)建數(shù)據(jù)庫(kù)的連接
?要連接數(shù)據(jù)庫(kù),需要向java.sql.DriverManager請(qǐng)求并獲得Connection對(duì)象,該對(duì)象就代表一個(gè)數(shù)據(jù)庫(kù)的連接。
?使用DriverManager的getConnectin(String url , String username ,String password )方法傳入指定的欲連接的數(shù)據(jù)庫(kù)的路徑、數(shù)據(jù)庫(kù)的用戶名和密碼來(lái)獲得。
例如://連接MySql數(shù)據(jù)脊遲庫(kù),用戶名和密碼都是root
String url = “jdbc: ;
String username = “root” ;
String password = “root” ;
try{
Connection con = DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println(“數(shù)據(jù)庫(kù)連接失?。 ?;
se.printStackTrace() ;
}
4、創(chuàng)建一個(gè)Statement
?要執(zhí)行SQL語(yǔ)句,必須獲得java.sql.Statement實(shí)例,Statement實(shí)例分為以下種類型:
1、執(zhí)行靜態(tài)SQL語(yǔ)句。通常通過(guò)Statement實(shí)例實(shí)現(xiàn)。
2、執(zhí)行動(dòng)態(tài)SQL語(yǔ)句。通常通過(guò)PreparedStatement實(shí)例實(shí)現(xiàn)。
3、執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。通常通過(guò)CallableStatement實(shí)例實(shí)現(xiàn)。
具體的實(shí)現(xiàn)方式:
Statement stmt = con.createStatement() ;PreparedStatement pstmt = con.prepareStatement(sql) ;CallableStatement cstmt = con.prepareCall(“{CALL demoSp(? , ?)}”) ;
5、執(zhí)行SQL語(yǔ)句
Statement接口提供了三種執(zhí)行SQL語(yǔ)句的方法:executeQuery 、executeUpdate 和execute
1、ResultSet executeQuery(String sqlString):執(zhí)行查詢數(shù)據(jù)庫(kù)的SQL語(yǔ)句,返回一個(gè)結(jié)果集(ResultSet)對(duì)象。
2、int executeUpdate(String sqlString):用于執(zhí)行INSERT、UPDATE或DELETE語(yǔ)句以及SQL DDL語(yǔ)句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于執(zhí)行返回多個(gè)結(jié)果集、多個(gè)更新計(jì)數(shù)或二者組合的語(yǔ)句。 具體實(shí)現(xiàn)的代碼:
ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;int rows = stmt.executeUpdate(“INSERT INTO …”) ;boolean flag = stmt.execute(String sql) ;
6、處理結(jié)果兩種情況:
1、執(zhí)行更新返回的是本次操作影響到的記錄數(shù)。
2、執(zhí)行查詢返回的結(jié)果是一個(gè)ResultSet對(duì)象。
? ResultSet包含符合SQL語(yǔ)句中條件的所有行,并且它通過(guò)一套get方法提供了對(duì)這些行中數(shù)據(jù)的訪問(wèn)。
? 使用結(jié)果集(ResultSet)對(duì)象的訪問(wèn)方法獲取數(shù)據(jù):
while(rs.next()){
String name = rs.getString(“name”) ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號(hào)的,并且從列1開(kāi)始)
7、關(guān)閉JDBC對(duì)象
操作完成以后要把所有使用的JDBC對(duì)象全都關(guān)閉,以釋放JDBC資源,關(guān)閉順序和聲明順序相反:
1、關(guān)閉記錄集
2、關(guān)閉聲明
3、關(guān)閉連接對(duì)象
if(rs != null){ // 關(guān)閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關(guān)閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關(guān)閉連接對(duì)象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
JDBC操作數(shù)據(jù)庫(kù)的基本步驟:
1、彎李加載JDBC驅(qū)動(dòng)程序。
在連接數(shù)據(jù)庫(kù)之前,首先要加載想要連接的數(shù)據(jù)庫(kù)的驅(qū)動(dòng)到JVM(Java虛擬機(jī)), 這通過(guò)java.lang.Class類的靜態(tài)方法forName(String className)實(shí)現(xiàn)。成功加載后,會(huì)將Driver類的實(shí)例注冊(cè)到DriverManager類中。
2、提供JDBC連接的URL。
連接URL定義了連接數(shù)據(jù)庫(kù)時(shí)的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識(shí)。
書(shū)寫(xiě)形式:協(xié)議:子協(xié)議:數(shù)據(jù)源標(biāo)識(shí)。
3、創(chuàng)建數(shù)據(jù)庫(kù)的連接。
要連接數(shù)據(jù)庫(kù),需要向java.sql.DriverManager請(qǐng)求并獲得Connection對(duì)象, 該對(duì)象就代表一個(gè)數(shù)據(jù)庫(kù)的連接。
使用DriverManager的getConnectin(String url , String username , String password )方法傳入指定的欲連接的數(shù)據(jù)庫(kù)的路徑、數(shù)據(jù)庫(kù)的
用戶名
和 密碼來(lái)獲得。
4、創(chuàng)建一個(gè)Statement,要執(zhí)行SQL語(yǔ)句,必須獲得java.sql.Statement實(shí)例。
Statement實(shí)例分為以下3 種類型:
(1)執(zhí)行靜態(tài)SQL語(yǔ)句。通常通過(guò)Statement實(shí)例實(shí)現(xiàn)。
(2)執(zhí)行動(dòng)態(tài)SQL語(yǔ)句。通常通過(guò)PreparedStatement實(shí)例實(shí)現(xiàn)。
(3)執(zhí)行數(shù)據(jù)庫(kù)
存儲(chǔ)過(guò)程
。通常通過(guò)CallableStatement實(shí)例實(shí)現(xiàn)。
5、執(zhí)行SQL語(yǔ)句。
Statement接口提供了三種執(zhí)行SQL語(yǔ)句的方法:executeQuery 、executeUpdate 和execute
6、處理兩種情況的結(jié)果。
(1)執(zhí)行更新返回的是本次操作影響到的記錄數(shù)。
(2)執(zhí)行查詢返回的結(jié)果是一個(gè)ResultSet對(duì)象。
ResultSet包含符合SQL語(yǔ)句中條件的所有行,并且它通過(guò)一套get方法提供了對(duì)這些 行中數(shù)據(jù)的訪問(wèn)。
使用結(jié)果集(ResultSet)對(duì)象的訪問(wèn)方法獲取數(shù)據(jù)。
7、關(guān)閉JDBC對(duì)象(關(guān)閉結(jié)果集–>關(guān)閉數(shù)據(jù)庫(kù)操作對(duì)象–>關(guān)閉連接)。
操作完成以后要把所有使用的JDBC對(duì)象全都關(guān)閉,以釋放JDBC資源,關(guān)閉順序和聲 明順序相反:
(1)關(guān)閉記錄集。
(2)關(guān)閉聲明。
(3)關(guān)閉連接對(duì)象。
擴(kuò)展資料:
一、JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫(kù)連接)
是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種
關(guān)系數(shù)據(jù)庫(kù)
提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員穗鬧早能夠編寫(xiě)數(shù)據(jù)庫(kù)
應(yīng)用程序
,同時(shí),JDBC也是個(gè)商標(biāo)名。
二、特性
Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此猜雀種用途的機(jī)制。
三、用途
簡(jiǎn)單地說(shuō),JDBC 可做三件事:與數(shù)據(jù)庫(kù)建立連接、發(fā)送 操作數(shù)據(jù)庫(kù)的語(yǔ)句并處理結(jié)果。
參考資料來(lái)源:
百度百科-JDBC
JDBC操作數(shù)據(jù)庫(kù)的基本步驟:
1、加載(注冊(cè))數(shù)據(jù)庫(kù)驅(qū)動(dòng)(到JVM)。
2、建立(獲取)數(shù)據(jù)庫(kù)連接。
3、創(chuàng)建(獲?。?shù)據(jù)庫(kù)操作對(duì)象。
4、定義操作的SQL語(yǔ)句。
5、執(zhí)行數(shù)據(jù)庫(kù)操作。
6、獲取并操作結(jié)果集。
7、關(guān)閉對(duì)象,回收數(shù)據(jù)庫(kù)資源(關(guān)閉結(jié)果集–>關(guān)閉數(shù)據(jù)庫(kù)操作對(duì)象–>關(guān)閉連接)。
有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語(yǔ)句就是一件很容易的事。
換言之,有了JDBC API,就不必為訪問(wèn)Sybase數(shù)據(jù)庫(kù)專門(mén)寫(xiě)一個(gè)程序,為訪問(wèn)Oracle數(shù)據(jù)庫(kù)又專門(mén)寫(xiě)一個(gè)程序,或?yàn)樵L問(wèn)Informix數(shù)據(jù)庫(kù)又編寫(xiě)另一個(gè)程序等等,程序員只需用JDBC API寫(xiě)一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。
擴(kuò)展資料:襪神
Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,殲祥是編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此種用途的機(jī)制。
JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁(yè),而該 applet 使用的信息可能來(lái)自遠(yuǎn)程數(shù)據(jù)庫(kù)。
企業(yè)也可以用 JDBC 通過(guò) Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。
隨著越來(lái)越多的程序員開(kāi)始使用Java 編程語(yǔ)言,對(duì)從 Java 中便捷地訪問(wèn)數(shù)據(jù)庫(kù)告改虧的要求也在日益增加。
參考資料來(lái)源:
百度百科-JDBC
這個(gè)讓亂虛我想起來(lái)了當(dāng)年老師用紅嘩態(tài)燃樓夢(mèng)其中的一話的閉埋標(biāo)題解釋“賈璉欲執(zhí)事”解釋就是1.加載驅(qū)動(dòng)
2.獲取連接
3.SQL語(yǔ)句
4.執(zhí)行SQL
5.釋放資源
其實(shí)就是這幾個(gè)步驟了,很簡(jiǎn)單的
JDBC連接ORACLE
下面是用JAVA 通過(guò)JDBC連接 Oracle的步驟
希望對(duì)你有幫助
(1)裝載并注冊(cè)數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)程序
載入JDBC驅(qū)動(dòng):
Class.forName(“oracle.jdbc.driver.OracleDriver”);
注冊(cè)JDBC驅(qū)動(dòng):
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
(2)建立與數(shù)據(jù)庫(kù)的連接
要建立與數(shù)據(jù)庫(kù)的連接山神,首先要?jiǎng)?chuàng)建指定數(shù)據(jù)庫(kù)的URL。連接數(shù)據(jù)庫(kù)的URL對(duì)象,利用DriverManager 的getConnection方法建立的。數(shù)據(jù)庫(kù)URL對(duì)象與網(wǎng)絡(luò)資源的統(tǒng)一資源定位類似,其構(gòu)成格式如下:
jdbc:subProtocol:
其中:
jdbc表示當(dāng)前通過(guò)Java的數(shù)據(jù)庫(kù)連接進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn);
subProtocol表示通過(guò)某種驅(qū)動(dòng)程序支持的數(shù)據(jù)庫(kù)連接機(jī)制;
subName表示在當(dāng)前連接機(jī)制下的具體名稱;
hostname表示主機(jī)名;
port表示相應(yīng)的連接端口;
DatabaseName表示要連接的數(shù)據(jù)庫(kù)的名稱。
這賣(mài)唯信里以與Oracle數(shù)據(jù)庫(kù)的連接為例:
連接Oracle 8/8i/9i數(shù)據(jù)庫(kù)(用thin模式)
url = jdbc:oracle:thin:@hostip:1521:oracleSID;
注意:hostip指主機(jī)的ip地址,oracleSID指數(shù)據(jù)庫(kù)的SID。
再者確定連接數(shù)據(jù)庫(kù)的用戶名與密中輪碼,即user和password 的值:
user = “ⅹⅹⅹ “;
password = “ⅹⅹⅹ“;
最后使用如下語(yǔ)句:
Connection con=java.sql.DriverManager.getConnection(url,user,password);
(3)創(chuàng)建Statement對(duì)象
例如:
Statement stmt = con.createStatement();
(4)調(diào)用并執(zhí)行SQL語(yǔ)句
例如:
String sql = “select a,b,c from table1″;//table1為你所要查詢的表名,a,b,c為所要查詢的字段
ResultSet rs = stmt.executeQuery(sql);
(5)訪問(wèn)ResultSet中的記錄集并從中取出記錄
例如:
rs.next( );
rs.absolute(4);
String col1=rs.getString(1);
……..
(6)依次關(guān)閉ResultSet、Statement和Connection對(duì)象
例如:
rs.close();
stmt.close();
con.close();
1)通過(guò)Class.forName(“oracle.jdbc.driver.OracleDriver”)裝載數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)程序
2)通過(guò)創(chuàng)建指定數(shù)據(jù)庫(kù)的URL。連接數(shù)據(jù)庫(kù)的URL對(duì)象,利用DriverManager 的getConnection方法建立的。數(shù)據(jù)庫(kù)URL對(duì)象與網(wǎng)絡(luò)資源的統(tǒng)一資源定位類建立連接
以上這兩點(diǎn) 搞定她謹(jǐn)局
例子:
// 數(shù)據(jù)庫(kù)驅(qū)動(dòng)類
private String dbDriver = “com.microsoft.jdbc.sqlserver.SQLServerDriver”;
/并襲/ 連接數(shù)據(jù)庫(kù)url
private String dbURL = “jdbc:microsoft:
// 連接數(shù)據(jù)庫(kù)用戶名
private String dbUser = “sa”;
// 連接數(shù)據(jù)庫(kù)密碼
private String dbPwd = “sa”;
// 獲取數(shù)絕晌兄據(jù)庫(kù)連接方法, 返回Connection對(duì)象
public Connection getDBConnect() {
Connection con = null;
try {
Class.forName(this.dbDriver); // 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)
con = DriverManager.getConnection(dbURL, dbUser, dbPwd); // 創(chuàng)建數(shù)據(jù)庫(kù)連接
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
不知道橡茄你要的是不是這梁談察個(gè),你那個(gè)說(shuō)法太籠統(tǒng)侍猜,沒(méi)明白
JAVA求各位大蝦指點(diǎn)。此段程序沒(méi)有錯(cuò)誤 但是好像只能運(yùn)行到連接數(shù)據(jù)庫(kù) 下面的就沒(méi)反應(yīng)了 在線等。急!謝謝
是否打出“數(shù)據(jù)庫(kù)連接成功”了?如果沒(méi)有的話會(huì)不會(huì)是數(shù)據(jù)庫(kù)被別的程序已經(jīng)打開(kāi)了,所以不能櫻橘同時(shí)打開(kāi)
另外看看是否有錯(cuò)誤信息打出來(lái)慧頌孝了
更好還是設(shè)個(gè)斷點(diǎn),單步跟蹤一下看看是停在哪了前稿
學(xué)編程就是這樣,我今年30歲了,五年里跳了五次槽,不知道和大家比算不算多J,沒(méi)有什么太多起伏,但我想很多朋友可能會(huì)和我有類似的經(jīng)歷,不知道能不能引起你們的共鳴。30歲,開(kāi)始實(shí)現(xiàn)我的程序員夢(mèng),從一個(gè)編程愛(ài)好者,從一個(gè)業(yè)余的程序員,一個(gè)水平不高的程序員,一個(gè)半道出家的程序員…… 我想對(duì)我上面所說(shuō)的話給一個(gè)總結(jié):
如果你不是科班出身,想要轉(zhuǎn)行而不知該怎么開(kāi)始的話,建議你先看兩類書(shū):(1)計(jì)算機(jī)原理;(2)數(shù)據(jù)結(jié)構(gòu)和算法。(看數(shù)據(jù)結(jié)構(gòu)之前先看C語(yǔ)言)。
如果你還是在校的學(xué)生,英語(yǔ)很差,專業(yè)課也很差。沒(méi)關(guān)系,想怎么學(xué)計(jì)算機(jī)就怎么學(xué)計(jì)算機(jī)吧。其它地只要能混到畢業(yè)證就行了。除非你對(duì)自己的未來(lái)沒(méi)有信心。(當(dāng)然,如果你的理想不僅僅是要做一個(gè)程序員,那你別丟掉英語(yǔ)。)
不要因?yàn)樽约耗贻p就找理由揮霍時(shí)間,少玩一點(diǎn)SC、CS、魔獸3、傳奇、魔力或者…….,多看點(diǎn)書(shū),多練練題。
Java、.net、C++、PB、VB、Delphi、匯編到底應(yīng)該學(xué)哪個(gè)?我的經(jīng)驗(yàn),哪個(gè)最簡(jiǎn)單就先學(xué)哪個(gè)、公司用哪個(gè)你就學(xué)哪個(gè)、哪個(gè)和你有緣(比如剛好你認(rèn)識(shí)一個(gè)愿意幫助你的Delphi高手)你就學(xué)哪個(gè),如果你都學(xué),或者三天兩頭的換,我可以告訴你結(jié)果肯定是什么都不會(huì),不要心浮氣燥,他們都只是工具,學(xué)精一門(mén)其它的就相通了,重要的是掌握編程的思想。如果你問(wèn)我面向?qū)ο螅ê孟瘳F(xiàn)在已經(jīng)是面向需求了)、UML、WebLogic、WebService、軟件工程、XML…….應(yīng)該怎么學(xué)呀,對(duì)不起,這些我也確實(shí)不是都會(huì),但請(qǐng)相信,你先實(shí)實(shí)在在的寫(xiě)上十萬(wàn)行以上的代碼以后,那些運(yùn)森東西你自然就慢慢會(huì)了。 什么時(shí)候努力旁態(tài)畝都不晚,關(guān)鍵是你明白要努力了,大器晚成總比一事無(wú)成要好的多。
大家不要誤會(huì),這里的假于物可不是指抄襲別人的源代碼,而是指通過(guò)學(xué)習(xí)別人的源代碼把他的思想擴(kuò)展到自己的思想里去。
注:上面的十大“精華”純屬我個(gè)人的“謬論”,您自己看著消化,有用的收下,沒(méi)用的請(qǐng)拖入“回收站”。如果你覺(jué)得這些總結(jié)不過(guò)是一些浮華之詞,那請(qǐng)你先問(wèn)問(wèn)自己:“是不是在行動(dòng)上都真正做到了?!?
如果你覺(jué)得自己應(yīng)該追求什么,不管遇到什么困難千萬(wàn)不要放棄,一定要堅(jiān)持下去。
這就是我,一個(gè)不算優(yōu)秀,不算勤奮;玩能玩通宵,學(xué)也學(xué)能學(xué)通宵;對(duì)夢(mèng)想的追求很執(zhí)著;到了30才開(kāi)始真正寫(xiě)程序;一個(gè)很閉橋平凡但又不甘于平凡的人……我的經(jīng)歷相信很多朋友都有過(guò)的,我現(xiàn)在也不能算是一個(gè)成功人士,但我相信我的經(jīng)歷卻是值得大家借鑒的,因?yàn)槲医K究代表了一類人。
最后我還想說(shuō)一點(diǎn):現(xiàn)在很多朋友都抱怨中國(guó)的軟件業(yè)環(huán)境太差,前途渺茫。確實(shí)是這樣,我有同感。最后:希望所有的程序員和擁有成為程序員夢(mèng)想的朋友們?cè)谛碌囊荒昀镄南胧鲁?,萬(wàn)事如意。請(qǐng)相信我:明天不一定更美好,但美好的一天一定會(huì)來(lái)!
還是錯(cuò)在連接字符串里,好好找找吧,access的我也沒(méi)連過(guò),多打幾條調(diào)試信息看看
把旁升最后一個(gè)catch中打察啟培敗唯印信息catch(SQLException e1)
{
e.printStackTrace();
}
關(guān)于加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、開(kāi)啟建站+互聯(lián)網(wǎng)銷(xiāo)售服務(wù),與企業(yè)客戶共同成長(zhǎng),共創(chuàng)價(jià)值。
文章名稱:如何正確地加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句(加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)句)
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/cosgsdo.html


咨詢
建站咨詢
