1. 程式人生 > >Java程式操作資料庫

Java程式操作資料庫

Java程式操作資料庫

Java程式操作資料庫,通常就是對資料庫中某一個表,進行增刪改查,那麼就需要通過某些方式連線到資料庫,比如連線MySQL,執行各種SQL語句(insert、delete、select、udpate)

Java資料庫連線技術

JDBC(Java Database Connectivity)即Java資料庫連線技術。JDBC其實只是代表了JDK提供的一套面向資料庫的一套開發介面,JDBC只是一套介面,介面,介面而已!!!!,換句話說,你的Java應用程式,光有JDBC,是操作不了資料庫的,更不用談所謂的CRUD(增刪改查)。JDBC真正的意義在於通過介面統一了java程式對各種資料庫的訪問的規範

資料庫廠商提供的JDBC驅動,JDBC Driver。資料庫廠商,比如說,MySQL公司,或者Oracle公司,會針對JDBC的一套介面,提供完整的一套介面的實現類,在這套實現類中,不同的資料庫廠商就實現了針對自己資料庫的一套連線、執行SQL語句等等實際的功能

Java程式設計資料庫連線

每一次java程式要在MySQL中執行一條SQL語句,那麼就必須建立一個Connection物件,代表了與MySQL資料庫的連線。然後在通過連線傳送了你要執行的SQL語句之後,就會呼叫Connection.close()來關閉和銷燬與資料庫的連線。

為什麼要立即關閉呢?

因為資料庫的連線是一種很重的資源,代表了網路連線、IO等資源。所以如果不使用的話,就需要儘早關閉,以避免資源浪費。

劣勢/不足:如果要頻繁地操作MySQL的話,那麼就勢必會頻繁地建立Connection物件,底層建立起與MySQL的佔用了網路資源、IO資源的連線。此外呢,每次使用完Connection物件之後,都必須將Connection連線給關閉,又涉及到頻繁的網路資源、IO資源的關閉和釋放。如上所述,如果頻繁的開關Connection連線,那麼會造成對網路、IO資源的申請和釋放的時間的大量浪費,對於特別頻繁的資料庫操作,比如100次/s,那麼可能會導致效能急劇下降。

                                                                         

通過資料庫連線池連線資料庫

資料庫連線池會自己在內部持有一定數量的資料庫連線,比如通常可能是100~1000個左右。然後每次java程式要通過資料庫連線往MySQL傳送SQL語句的時候,都會從資料庫連線池中獲取一個數據庫連線,然後通過它傳送SQL語句。SQL語句執行完之後,不會呼叫Connection.close(),而是將連線還回資料庫連線池裡面去。下一次,java程式再需要操作資料庫的時候,就還是重複以上步驟,獲取連線、傳送SQL、還回連線。

資料庫連線池的好處:

  • java程式不用自己去管理Connection的建立和銷燬,程式碼上更加方便。
  • 程式中只有固定數量的資料庫連線,不會一下子變得很多,而且也不會進行銷燬。那麼對於短時間頻繁進行資料庫操作的業務來說。就有很高的意義和價值。也就是說,如果短時間內,頻繁操作10000次,不需要對資料庫連線建立和銷燬10000次。這樣的話,可以大幅度節省我們的資料庫連線的建立和銷燬的資源開銷以及時間開銷。
  • 最終可以提升整個應用程式的效能。