Spring Data

Spring Data

2019/07/10 (更新)

基本概念

Spring Framework所支援的JDBC相關元件,如:Connection、SQLException,透過執行SQL的方式去存取資料庫。使用JDBC時,可以利用Spring Framework提供的JdbcTemplate執行SQL Statement,可以大量的簡化所需要的程式碼。

Spring Framework也提供了Java Persistence API(JPA)及JDBC的相關元件。JPA簡化了java對資料庫的存取,也讓程式設計師不必寫SQL就可以存取資料庫。不過,如果不是單純的新增、刪除、修改,使用JPA可能就會有一些效能上的問題。

資料庫相關概念

資料庫

比較常用的關聯式資料庫有SQL server,、MySQL、MariaDB、Oracle database。

MySQL是一個開源的資料庫,原本是由MySQL AB開發,2008年被Sun收購,2009年Oracle收購Sun時,就變成Oracle的產品了,MySQL最新版本是8.0.16 (下載: MySQL Community Downloads)(詳參:MySQL)。

MariaDB是MySQL的一個分支,在2013年由MySQL的創始人Ulf Michael Widenius與其他人一起成立了MaribDB Foundation來主導MariaDB的開發。在MariaDB 5.5之前,MariaDB的版本都與MySQL同步,之後,MariaDB就與MySQL版本不再同步,由10.0開始。目前最新的穩定版本是10.4.6 (下載: Downloads) (詳參: MariaDB)。

一般而言,可以直接下載MySQL或Maria DB,也可以下載一些安裝包(如:XAMPP、AppServ),這些安裝包將這些軟體包裝好,可以一次安裝好,不必一個一個的安裝。使用安裝包的時候要注意,每個安裝包所內含的軟體是不太一樣的,目前最大的差異在於使用MySQL或MariaDB,例如,XAMPP內含MariaDB,AppServ內含MySQL,WampServer則是MySQL及MariaDB,另外,還要注意的是支援的作業系統,AppServ及WampServer支援windows,XAMPP號稱跨平台,所以,支援Windows、Mac、Linux版本。

常用的管理介面有phpmyadmin及MySQLWorkBench,可採用phpmyadmin,phpmyadmin包含在XAMPP裡,XAMPP支援Windows、Mac、Linux版本(詳參: XAMPP安裝與操作初步XAMPP v7.3.6 網頁伺服器自動架站機 ),XAMPP支援的是MariaDB,不過,介面上還是寫MySQL。XAMPP透過phpmyadmin來管理mysql。

中文的設定

my.ini/my.cnf for utf-8

在[client]底下,需要:

[client]
default-character-set=utf8

在[mysql]底下,需要:

[mysql]
default-character-set=utf8

在[mysqld]底下,需要:

[mysqld]
## UTF 8 Settings
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
skip-character-set-client-handshake
character_sets-dir="C:/xampp/mysql/share/charsets"

參考資料

04_DB_Environment.ppt