摘要:一從零搭建環境本次我使用的是編輯器來搭建和環境首先,我們在新建項目的時候,選擇,然后就行了??梢钥闯觯敬蔚陌姹緸?。這是一個非常好用的插件,有了它我們可以不用寫繁瑣的方法。非常適合我們做一些簡答的測試和小功能。
前言
只有光頭才能變強。
文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y
不知道大家對SpringBoot和Spring Data JPA了解多少,如果你已經學過Spring和Hibernate的話,那么SpringBoot和SpringData JPA可以分分鐘上手的。SpringBoot和SpringData JPA的好處我就不說了,當時我學習的時候也粗略做過筆記,有興趣的同學可以去看看
SpringBoot就是這么簡單
SpringData JPA就是這么簡單
其實我在學完SpringBoot和SpringData JPA了之后,寫過一個小Demo,但一直沒發出來而已(懶)。而最近要寫畢業設計的一個管理模塊(CRUD),并且我又沒寫過相關SpringBoot和SpringData JPA的搭建教程,所以就誕生了這篇文章了。
一、從零搭建環境本次我使用的是IDEA編輯器來搭建SpringBoot和Spring Data JPA環境
首先,我們在IDEA新建項目的時候,選擇Spring Initializr,然后next就行了。
然后填寫一些項目的資料(其實這些資料也無關緊要,自己看著填就好了),隨后點擊next
隨后在勾選的時候,我就隨手勾選了個LomBok(其他的沒勾選,反正后面我們可以在pom文件下配置嘛)??梢钥闯?,本次SpringBoot的版本為2.1.3。
注:如果不太了解LomBok的同學,建議去搜一下。這是一個非常好用的插件,有了它我們可以不用寫繁瑣的set/get方法。記得:使用lomBok還需要在IDEA下安裝插件
然后IDEA就會幫我們創建出Maven管理下SpringBoot的項目啦,此時一般我們會指定自己的下載好的Maven,重寫它的settings.xml文件
然后Maven就一直在下載相關的依賴啊,必要的插件啊(我等了差不多10分鐘吧,這個時間可以去倒杯Java喝喝.haha),等Maven下載完之后,我們的項目就成了下面那個樣子了(注:原生的是application.properties文件的,我改了一下后綴,我比較喜歡yml格式的):
二、完善pom文件現在pom文件只有SpringBoot和LomBok的依賴,想要完成CURD的功能,我們需要用到Spring Web模塊、Spring Data JPA以及MySQL驅動依賴,所以我們得在pom文件下加入這些依賴:
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-java
pom文件的完整依賴圖如下:
三、配置yml文件既然我們用到了SpringData JPA和MySQL,我們得為其進行配置最基礎的信息。比如說數據庫的用戶名和密碼,相對應的庫,以及SpringData JAP的策略。
#服務端容器的配置 server: port: 8887 #數據庫配置 spring: datasource: username: 填寫自己的 password: 填寫自己的 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://填寫自己的機器:3306/填寫自己的庫?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC # JPA配置 jpa: hibernate: ddl-auto: update show-sql: true # formatSQL得這樣寫 properties: hibernate: format_sql: true
yml文件完整圖如下:
數據庫的信息填寫成自己的就行了。
四、寫一個User實體我畢業設計其中就有對用戶的管理,我們用戶實體設計如下(大家的當然可以跟我的不一樣了,我這只是樣例):
package com.zhongfucheng.example.demo.domain; import lombok.Data; import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import java.io.Serializable; import java.util.Date; /** * 存儲用戶的信息 * * @author ozc * @version 1.0 */ @Entity // jpa的注解,需要加 @Table(name = "table_user") // 指定數據庫的表名 @Data // lombok public class User implements Serializable { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid") private String userId; private String userNickname; private String userPassword; private String userEmail; private Integer actiState; //激活成功與激活失敗常量 public static final int ACTIVATION_SUCCESSFUL = 1; public static final int ACTIVATION_UNSUCCESSFUL = 0; private String actiCode; private Date tokenExptime; }
再補充一句:因為我們有了LomBok的Data注解,并且在IDEA已經下好的LomBok的插件,所以我們可以不用寫set、get方法。
User實體圖如下:
五、寫一個UserRepositoryUserRepository是dao層的東西了,相當于UserDao/UserMapper,只是叫法不一樣而已。比如在Struts2喜歡將名字取成xxxAction,而在SpringMVC喜歡將名字取成xxxxController。
一般地,我們將UserRepository繼承JpaRepository就可以有對應的增刪改查方法:
import com.zhongfucheng.example.demo.domain.User; import org.springframework.data.jpa.repository.JpaRepository; /** * UserDao 操作數據庫 * @author ozc * @version 1.0 */ public interface UserRepository extends JpaRepository{ }
UserRepository圖如下:
ok,我們的UserRepository已經寫好了,至于為啥我們傳入
我們就查user表所有的記錄出來就好了,代碼如下:
// 接口 public interface UserService { ListgetAllUser(); } // 實現 @Service public class UserServiceImpl implements UserService { @Autowired private UserRepository userRepository; @Override public List getAllUser() { return userRepository.findAll(); } }
UserService圖如下:
為啥會有findAll()方法?因為我們的UserRepository 繼承了JpaRepository
七、寫一個UserControllerUserController調用一下service的方法,看是否能返回成功,如果能返回成功,那說明我們的環境已經是ok的了。
UserController代碼如下:
@RestController public class UserController { @Autowired private UserService userService; /** * 得到所有用戶 */ @GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"}) public void getAllUser () { ListallUser = userService.getAllUser(); for (User user : allUser) { System.out.println(user); } } }
Controller代碼圖如下:
八、測試一下看是否能返回數據進入DemoApplication,右鍵,啟動我們的SpringBoot項目:
在瀏覽器輸入我們的url:http://localhost:8887/user。然后我們從后臺查看,打印出查詢的SQL語句,已經后臺已經打印表已有的記錄。
最后我們可以發現使用SpringBoot+SpringData JPA的方式,不需要很多的配置,不需要很多的代碼就可以從數據庫中查找出數據了。非常適合我們做一些簡答的測試和小功能。如果對例子有疑問的同學應該是對SpringData JPA不太熟悉,建議去找找相關的教程看一下,相信你可以很快就入門了。
樂于輸出干貨的Java技術公眾號:Java3y。公眾號內有200多篇原創技術文章、海量視頻資源、精美腦圖,不妨來關注一下!
覺得我的文章寫得不錯,不妨點一下贊!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73872.html
摘要:帶你搭一個的我的目的是做一個十分簡易的管理系統,這就得有頁面,下面我繼續來講講我是怎么快速搭一個管理系統的。由于是簡易版,我的目的是能夠快速搭建,而不在于代碼的規范性。我們現在希望把記錄塞到一個管理頁面上展示起來。 前言 只有光頭才能變強。 文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y 在上一篇中已經講解了如...
摘要:一入門在上次學的時候,那時候的教程就已經涉及到了一點的知識了。入門只是中的一個子模塊是一套標準接口,而是的實現底層默認實現是使用的首個接口就是,它是一個標記接口。這也導致了我出現這個錯誤的原因。 一、SpringData入門 在上次學SpringBoot的時候,那時候的教程就已經涉及到了一點SpringData JPA的知識了。當時還是第一次見,覺得也沒什么大不了,就是封裝了Hiber...
摘要:正文公司使用的是現在流行的,數據庫方面使用的是。這幾天用的最多的就是用進行查詢了,簡單的查詢很簡單,網上查一查就有一堆方案,直到遇到分頁查詢的時候出了問題。 寫作原因 之前在學校都是做前端,但是最后找了個Java后端的工作,框架什么的基本沒用過,所以工作中遇到了很多問題,所以決定記錄下來工作中遇到的問題,記錄成長的點滴。 正文 公司使用的是現在流行的SpringBoot,數據庫方面使用...
摘要:熱加載代表的是我們不需要重啟服務器,就能夠類檢測得到,重新生成類的字節碼文件無論是熱部署或者是熱加載都是基于類加載器來完成的。驗證階段字節碼文件不會對造成危害準備階段是會賦初始值,并不是程序中的值。 一、SpringBoot入門 今天在慕課網中看見了Spring Boot這么一個教程,這個Spring Boot作為JavaWeb的學習者肯定至少會聽過,但我是不知道他是什么玩意。 只是大...
閱讀 4549·2021-09-10 11:22
閱讀 530·2019-08-30 11:17
閱讀 2564·2019-08-30 11:03
閱讀 430·2019-08-29 11:18
閱讀 3455·2019-08-28 17:59
閱讀 3218·2019-08-26 13:40
閱讀 3157·2019-08-26 10:29
閱讀 1136·2019-08-26 10:14