天天看點

JDBC的前世今生

“請必須要有自信,你就是一道風景,沒必要在别人風景裡面仰視。”你好,我是夢陽辰,快來和我一起學習吧!

01.JDBC是什麼?

02.JDBC快速入門

03.JDBC中的各個類和接口

04.PreparedStatement接口(Statement的子接口)

05.JDBC控制事務

概念:Java DataBase Connectivity ,java資料庫連接配接,Java語言操作資料庫。

JDBC本質:sun公司定義的一套操作所有關系型資料庫的接口。各個資料庫廠商去實作這套接口(提供資料庫驅動jar包)。我們可以使用這套接口(jdbc)程式設計,真正執行的代碼時驅動jar包中的實作類。但我們隻需要面向接口程式設計。

JDBC的前世今生

步驟:

1.下載下傳驅動:去你使用的資料庫廠商的官網找到你要使用的資料庫版本對應的版本驅動,下載下傳驅動。

2.将驅動jar包導入項目

1.指派mysql-connector-java-5.1.xx-bin.jar到項目的lib目錄下。

然後單擊目錄右鍵–>Add as Library。

3.注冊驅動(告訴程式你用的是哪個廠商,哪個版本的資料庫)

4.擷取資料庫連接配接對象(Connetion)(表示JVM的程序和資料庫程序之間的通道打開了,這屬于程序之間的通信,重量級的,使用完之後一定要關閉)

5.定義sql

6.擷取執行sql語句的對象(Statement)(專門執行sql語句的對象)

7.執行sql,接受傳回結果

8.處理結果

9.釋放連接配接

注意:用文本編輯器開發,需要配置環境變量到classpath中。

如果使用IDEA工具的時候,不需要配置classpath環境變量,按要求導入jar包到項目即可。

查詢:

JDBC API主要位于java.sql包下。

Dirver接口是所有JDBC驅動程式必須實作的接口,該接口專門提供給資料庫廠商使用。編寫運作程式記得,一定要先将對應資料庫廠商的jar包導入項目的classpath中。

1.DriverManager類(驅動管理對象)

功能:

1).注冊驅動(告訴程式使用哪一個驅動jar)

com.mysql.jdbc.Driver的靜态代碼塊:

2.)擷取資料庫連接配接

url:

jdbc:mysql:// 協定

127.0.0.1 IP位址

3306 mysql資料庫端口号

teaching 資料庫

如果主機是本機,端口号是3306,則主機ip和端口号可以不寫。

2.Connection接口(資料庫連接配接對象)

1).擷取執行sql的對象。

2).事物管理

開啟事務

送出事務

復原事務

3.Statement接口(執行sql的對象)

用于執行靜态SQL語句并傳回其生成的結果的對象。

JDBC的前世今生

練習:

1.student表 添加一條記錄

2.student表 修改一條記錄

3.student表 删除一條記錄

4.ResultSet接口(結果集對象)

表示資料庫結果集的資料表,通常通過執行查詢資料庫的語句生成.

封裝結果集對象:

周遊結果集:

定義一個方法,查詢Studnet表的資料将其封裝為對象,然後裝載集合,傳回。

1.定義Student類(一個表就相當于一個類)

2.定義public List findAll(){}

3.實作方法 select xx,xx,xxx from Student;

student類

可以寫JDBC工具類,簡化JDBC連接配接資料的操作。

采用配置檔案,存儲url,user,password等。

Statement對象,執行sql會存在sql注入問題。

SQL注入問題:在拼接sql時,有一些sql的特殊關鍵字參與字元串的拼接。會造成安全性問題。

2.解決sql注入問題:使用PreparedStatement對象來解決。

PreparedStatement對象采取預編譯。

SQL語句已預編譯并存儲在PreparedStatement對象中。 然後可以使用該對象多次有效地執行此語句。

參數使用占位符

采取占位符?

6.擷取執行sql語句的對象(PreparedStatement)(專門執行sql語句的對象)

7.給占位符指派

8.執行sql,接受傳回結果(不需要參數sql)

9.處理結果

10.釋放連接配接

JDBC控制事務:

**事務:**一個包含多個步驟的業務操作。如果這個業務操作被事務管理,則這多個步驟要麼同時成功,要麼同時失敗。

2.操作:

3.使用connection對象來管理事務

開後事務 : setAutoCommit(boolean autoCcommit) :調用該方法設定參數為false,即開起事務。

送出事務: commit()

復原事務: rollback( )

Give up worrying about what others think of you。What they think isn’t important.What is important is how you feel about yourself.

這篇文章也許對你有用:

一文帶你搞定JDBC

JDBC的前世今生