jdbc 生成建表语句_JDBC数据库连接怎么操作?
之前一直聽說過JDBC,但從來不知道它是何物的小伙伴們看過來啦!
一、概述
JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成,是Java訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)規(guī)范。
我們安裝好數(shù)據(jù)庫之后,我們的應(yīng)用程序也是不能直接使用數(shù)據(jù)庫的,必須要通過相應(yīng)的數(shù)據(jù)庫驅(qū)動程序,通過驅(qū)動程序去和數(shù)據(jù)庫打交道。驅(qū)動是兩個設(shè)備要進行通信,滿足一定通信數(shù)據(jù)格式,數(shù)據(jù)格式由設(shè)備提供商規(guī)定,設(shè)備提供商為設(shè)備提供驅(qū)動軟件,通過軟件可以與該設(shè)備進行通信。
有了JDBC,程序員只需用JDBC API寫一個程序,就可以訪問所有數(shù)據(jù)庫。將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。
JDBCAPI提供者是sun公司,供程序員調(diào)用的接口與類,集成在java.sql和javax.sql包中,可以管理各種不同的JDBC驅(qū)動,如:
1. DriverManager類:Driver接口由數(shù)據(jù)庫廠家提供,作為java開發(fā)人員,只需要使用Driver接口就可以了。
2. Connection接口:Connection與特定數(shù)據(jù)庫的連接(會話),在連接上下文中執(zhí)行sql語句并返回結(jié)果。
3.Statement接口:用于執(zhí)行靜態(tài)SQL語句并返回它所生成結(jié)果的對象。
4.ResultSet接口:ResultSet提供檢索不同類型字段的方法。
JDBC驅(qū)動的提供者是數(shù)據(jù)庫廠商,負(fù)責(zé)連接各種不同的數(shù)據(jù)庫。
JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。
那么JDBCAPI、JDBC驅(qū)動和JDBC三者有什么關(guān)系呢?
SUN公司是規(guī)范制定者,制定了規(guī)范JDBC(連接數(shù)據(jù)庫規(guī)范);數(shù)據(jù)庫廠商微軟、甲骨文等分別提供實現(xiàn)JDBC接口的驅(qū)動jar包;程序員學(xué)習(xí)JDBC規(guī)范來應(yīng)用這些jar包里的類。
JDBC訪問數(shù)據(jù)庫步驟:1.加載一個Driver驅(qū)動;2.創(chuàng)建數(shù)據(jù)庫連接(Connection);3.創(chuàng)建SQL命令發(fā)送器Statement;4.通過Statement發(fā)送SQL命令并得到結(jié)果;5.處理結(jié)果(select語句);6.關(guān)閉數(shù)據(jù)庫資源
二、JDBC語法總結(jié)
1. 加載驅(qū)動
2. 創(chuàng)建數(shù)據(jù)庫連接
3. 創(chuàng)建Statement并發(fā)送命令
4. 處理ResultSet結(jié)果
5. 關(guān)閉數(shù)據(jù)庫資源
三、使用PreparedSatement完善JDBC操作
如果需要多次執(zhí)行一個SQL語句,可以使用PreparedStatement對象。在創(chuàng)建 PreparedStatement對象時,通過傳遞不同參數(shù)值多次執(zhí)行PreparedStatement對象,可 以得到多個不同的結(jié)果。優(yōu)勢:執(zhí)行效率高、代碼可讀性強、安全性高。
四、手動啟動事務(wù)管理
在JDBC中,事務(wù)操作缺省是自動提交。一條對數(shù)據(jù)庫的更新表達(dá)式代表一項事務(wù)操作,操作成功后,系統(tǒng)將自動調(diào)用commit()提交,否則調(diào)用rollback()回滾。
在JDBC中,事務(wù)操作方法都位于接口java.sql.Connection中,可以通過調(diào)用setAutoCommit(false)來禁止自動提交。之后就可以把多個數(shù)據(jù)庫操作的表達(dá)式作為一個事務(wù),在操作完成后調(diào)用commit()來進行整體提交,倘若其中一個表達(dá)式操作失敗,都不會執(zhí)行到commit(),并且將產(chǎn)生響應(yīng)的異常;此時就可以在異常捕獲時調(diào)用rollback()進行回滾,回復(fù)至數(shù)據(jù)初始狀態(tài)。
事務(wù)結(jié)束的邊界是commit或者rollback方法的調(diào)用。事務(wù)開始的邊界則不是那么明顯了,它會開始于組成當(dāng)前事務(wù)的所有statement中的第一個被執(zhí)行的時候。
五、采用分層實現(xiàn)JDBC案例
完成對雇員數(shù)據(jù)的多種操作
? 查詢所有雇員
? 按照編號查詢雇員
? 添加雇員
? 刪除雇員
? 具體實現(xiàn)
? 定義包結(jié)構(gòu)
? 定義實體類Employee
? 定義EmployeeDao接口
? 定義EmployeeDaoImpl
? 抽取BaseDao ? 測試
總結(jié)
以上是生活随笔為你收集整理的jdbc 生成建表语句_JDBC数据库连接怎么操作?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arduino pmw 串口 字符串_E
- 下一篇: 股票发行面值和价格有什么区别