新手入門Hibernate和Mybatis以及配置繁重的Spring-MVC還有些難度,今天就從實用出發,從零開始搭建一個Spring-Boot+Jpa的服務
什麼是Jpa?
Jpa是Java Persistence API的簡稱。
致力於通過操作對象,執行CURD操作,使開發者從繁重的jdbc和sql中脫離出來的一種規範。
而Hibernate ORM框架則是Jpa規範的一種實現。
Spring Data Jpa是在Jpa規範的基礎下提供了Repository層的實現
下圖即爲幾種事物之間的關係:
什麼是Spring-Boot?
是一種可以方便集成各種依賴,省去大多數配置文件的自動化框架,可以基於Spring進行快速開發
項目的搭建
首先準備好IDEA
點擊Create New Project
點擊右側的Spring Initalizr,然後點擊Next
Group即爲所在組
Artifact即爲項目名
Type選擇Maven Project,Maven稍後進行講解
Packaging選擇jar
點擊Next
有的小夥伴一定會有疑問,爲什麼不選擇war
這裏進行說明一下,因爲Spring-boot是一個自帶tomcat的容器,當我們使用tomcat進行部署時,需要將war包放入到/tomcat/webapps進行運行,而Spring-boot則只需要打成jar,java -jar即可運行,是不是很方便?
勾選上右側我所選擇的依賴,然後點擊Next,再點擊Finish,我們的項目就創建完成了
Lombok大家可能還很陌生,這是一個可以極大簡化開發的插件,需要在使用時勾選下圖中右側Enable annotation processing,意思是開啓註解處理,因爲Lombok是基於註解(在類或者方法上進行標記的一種語法)的插件
下面我們打開項目中的pom.xml,如果右下角有提示,可以點擊auto-import,意思爲自動導入依賴包
下面說一下Maven
這是一個十分便捷的依賴管理工具,我們可以通過來直接倒入包,而不用再去網上搜索一個個的jar包
所以大家以後需要什麼依賴可以直接去maven倉庫(https://mvnrepository.com/)
直接複製代碼過來,就可以下載依賴
搜索想要添加的依賴,然後點擊想要的版本號(可以選擇用的人數最多的,即Usages數量最大的)進入
然後複製下圖中Maven裏的代碼到pom.xml中即可
下面就要開始創建我們的MVC架構了
大家可以按照我所建的包(右鍵src/main/java/你的包名,即與Application同目錄, new Package)來進行創建
當然,這些只是最基本的結構,下面配置一下resources裏的application.properties
大家需要把url裏的loginDemo替換成自己創建的db庫名,username和password替換成自己的mysql數據庫的,port爲自定義的運行後的端口號
下面來進行編寫一個簡單的查詢接口
1.我們在utils裏創建一個ResponseMessage,這是用來返回數據時,返回統一格式
這裏的@Data和@AllArgsConstructor和@NoArgsConstructor都是Lombok插件的註解,代表自動爲實體生成get,set方法,重寫toString()方法,自動生成全參,無參構造函數
2.創建一個和數據庫中的表映射的實體類
@Id和@GeneratedValue代表生成表的時候設爲自增主鍵,最後又添加了一個不含有id的構造函數,,因爲不傳id,就代表生成自增id,創建新數據
3.創建一個repository
要繼承JpaRepository,並且泛型傳入User對象
因爲實體中設置了status=0代表正常,所以我們按照status搜出所有正常的User
4.創建一個service
通過@Autowired注入UserRepository進行調用findByStatus()方法
5.創建一個controller
@RequestController內部包含兩個註解@RequestBody和@Controller代表這是一個返回json數據格式的controller
@RequestMapping代表映射,即一會訪問接口時的地址
內部調用service方法的getList()進行返回數據
6.創建test單元測試,用於增加初始數據
這裏Hibernate自動建的表會出現中文亂碼無法插入的錯誤,在varchar的字段後面加上CHARACTER SET ‘utf8’即可解決
然後點擊18行的綠色按鈕。Run Tests即可完成數據初始化
7.去BootJpaApplication點擊第七行綠色按鈕,Run
打開瀏覽器輸入url(http://localhost:8088/user/list)
這樣我們就拿到了數據,一個完整的項目也就搭建完成了
項目的部署
1.在命令行中使用mvn package打成jar包
注意:在運行之前,先將init()中代碼註釋掉,否則會重複創建數據
2.在命令行中使用java -jar target/boot-jpa-0.0.1-SNAPSHOT.jar即可開啓服務,再次訪問http://localhost:8088/user/list
依舊能夠成功獲取數據(開啓服務前不要忘記剛纔通過BootJpaApplication運行的服務)
一個完整的Spring-Boot+Jpa的創建到運行到部署的流程就此全部完成
本人github上放有基於Spring-Boot+Jpa的一個登陸demo,歡迎大家查看
https://github.com/stalary/SpringBootDemo
今天我們耀眼的光芒,不過是明日無人問津的落日餘暉。