1. 程式人生 > 其它 >Spring Boot整合持久層

Spring Boot整合持久層

整合持久層就是和資料庫打交道,這裡以mysql為例。

1.準備工作

首先建立一個數據庫和表,程式碼如下:

View Code

然後建立springboot的專案。

2.整合JdbcTemplate

第一步:匯入依賴

View Code

其中lombok可以匯入也可以不匯入,這裡是為了使用get和set方法方便。

第二步:配置資料來源,這裡使用的配置檔案是application.yml

View Code

第三步:建立類Book

View Code

第四步:建立類BookController

View Code

第五步:建立類BookService

View Code

第六步:建立類BookDao

View Code

第七步:測試。啟動專案,在瀏覽器輸入localhost:8080/book/abbBook即可向資料庫新增設定的資料,同理其他的幾個介面也可以使用。到這裡SpringBoo整合JdbcTemolate已經完成了,至於從前端向controller的介面傳遞資料,這裡暫時不講。

3.整合MyBatis

第一步:匯入依賴

View Code

第二步:類Book,類BookController同上,而BookService中只需把@Autowired中的BookDao改成BookMapper即可,其他同上。

第三步:建立介面BookMapper

View Code

第四步:建立BookMapper.xml檔案

在資源目錄下先建立mapper目錄,在目錄下建立一個名為BookMapper.xml的檔案

View Code

第五步:修改yml檔案

View Code

第六步:啟動專案,進行測試,介面可以正常使用。

4.整合Spring Data JPA

JPA是一種ORM規範,Hibernate是一個ORM框架,因此JPA相當於Hibernate的一個子集。這裡只需要有資料庫即可,就是要test1資料庫,不需要手動建立表,。

第一步:匯入依賴

View Code

第二步:資料庫配置

View Code

第三步:建立實體類Book

View Code

第四步:建立類BookController

View Code

第五步:建立類BookService

View Code

第六步:建立介面BookDao

View Code

BookDao中沒有寫方法,原因是jpa中有一些常用的方法。

5.配置多資料來源

多資料來源就是javaEE專案中採用了不同資料庫例項中的 多個庫,或者同一個資料庫例項中多個不同的庫。

1)JdbcTemplate多資料來源

第一步:建立兩個資料庫test1,test2,然後在兩個資料庫中分別建立一個book,並插入一條不同的內容,建立test1的指令碼如下,test2同

View Code

第二步:新增依賴

View Code

第三步:配置資料庫

View Code

第四步:配置多資料來源

View Code

第五步:配置JdbcTemplate

View Code

第六步:建立類BookController

為了簡單化,這裡就直接使用controller來注入JdbcTemplate,在實際開發中需規範化。

View Code

第七步:測試

啟動專案,在瀏覽器輸入localhost:8080/book/get即可看到查詢的兩個資料庫的所有結果。

2)Mybatis多資料來源

第一步:上面已經詳細的介紹了一些配置資訊,這裡就不再贅述。兩個資料庫同上,資料庫配置同上,多資料來源配置同上。依賴也只是把Spring-boot-starter-jdbc替換成mybatis的依賴即可,mybatis的依賴如下:

View Code

第二步:配置Mybatis

  第一個配置類

View Code

  第二個配置類

View Code

第三步:在包com.example.demo.dao和com.example.demo.dao2分別建立介面BookMapper和BookMapper2

View Code View Code

第四步:在上面兩個包中分別建立BookMapper.xml,BookMapper2.xml  

View Code View Code

第五步:建立BookController

View Code

第六步:啟動專案,進行測試。

6.整合Mybatis出現null

當前端傳入的資料給後臺,一個物件中有的屬性為null時mybatis是不能進行插入操作的,但是需求是這些為null的值得轉換為空字串存入到資料庫,其中的一個解決辦法如下:

第一步:建立一個類,用於轉換型別是字串,值為null的屬性

View Code

第二步:在mybatis的BookMapper.xml中修改如下

View Code

typeHandler的值是NullValueHandler所在的路徑,這樣當前臺傳入的值為null時後臺就可以正常插入了。

就是這麼簡單,你學廢了嗎?感覺有用的話,給筆者點個贊吧 !